Size: a a a

iOS Developers — русскоговорящее сообщество

2021 June 01

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
Пустой? или coder?
источник

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
мне нужно оставить мой конструктор, главное чтобы оно не ругалось, ну и в json нормально конвертило
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
init from decoder
источник

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
мне нужно его самому реализовывать?
источник

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
у меня все свойства класса Codable
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
соответственно и функция encode должна быть
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
так конструкторов может быть сколько угодно же
источник

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
оно же из коробки работать должно, если прописываешь Codable, и все свойства класса Codable, вручную писать я не хочу кодирование и декодирование
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
покажите целиком код класса
источник

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
public class Invoice: NSObject, Codable {
   public static let PREFIX_MESSAGE = "invoice."
   public let invoiceId: String
   public let amount: Double
   public let fee: Double
   public let dateTime: Int32
   public let attachments: [InvoiceAttachment]?
   public let note: String?

   public init(invoiceId: String,  amount: Double, fee: Double, dateTime: Int32, note: String?, attachments: [InvoiceAttachment]? = []) {
       self.invoiceId = invoiceId
       self.attachments = attachments
       self.note = note
       self.amount = amount
       self.fee = fee
       self.dateTime = dateTime
   }
   public func toEncodedMessage() -> String {
       let jsonEncoder = JSONEncoder()
       let jsonData = try! jsonEncoder.encode(self)
       let json = String(data: jsonData, encoding: String.Encoding.utf16)
       return Invoice.PREFIX_MESSAGE + (json ?? "")
   }
   
   }
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
лучше скриншоты с номерами строк, так подсветка синтаксиса сохраняется, удобнее читать
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
теперь нужен код, где вам выдает такую ошибку и чего вы собственно пытаетесь добиться
источник

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
Мне надо чтобы скомпилилось просто, не понимаю что ему не нравится

Вот тут просто создаю объект

Invoice(invoiceId:Invoice.randomInvoiceId(),amount: amount,fee:fee, dateTime:Int( NSDate().timeIntervalSince1970), note: self.noteInputNode.getInputText(),attachments: self.filesAttached )
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
у меня всё ок
источник

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
🤔🤔🤔
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
InvoiceAttachment - вот это удали)
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
зачем их удалять
источник

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
public struct InvoiceAttachment: Codable {
   public let id: Any
   public let description: String
   
   public init(id: Any, description: String) {
       self.id = id
       self.description = description
   }
   
   public init(from decoder: Decoder) throws {
       self.id = ""
         do {
             let container = try decoder.singleValueContainer()
             self.description = try container.decode(String.self)
         } catch {
           self.description = "Ooops"
         }
   }
   public func encode(to encoder: Encoder) throws {
           var container = encoder.singleValueContainer()
       try container.encode(self.description)
  }
}
источник

VY

Varda Yijun in iOS Developers — русскоговорящее сообщество
вот так у меня
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
ошибка то какая?
источник