【问题标题】:Encode optional value with Codable Model?使用可编码模型编码可选值?
【发布时间】:2018-11-23 09:41:35
【问题描述】:

我有这样的可编码模型

struct Payment: Codable {
  var id: Int?
  var date: String?
  var companyId: Int?
  var companyName: String?
  var dueDate: String?
  var amount: Int?
  var paidOrNot: Bool?
  var paidDate: String?
  var returnAmount: Int?
  var paidAmount: Int?
  var createdAt: String?
  var updatedAt: String?
}

当我从字典中打印编码数据时,我的 httpBody 中有选项。

Payment(id: nil, 
        date: Optional("Nov 23, 2018"), 
        companyId: nil, companyName: Optional(""), 
        dueDate: Optional("Nov 23, 2018"), 
        amount: Optional(5), 
        paidOrNot: Optional(true), 
        paidDate: Optional("Nov 23, 2018"), 
        returnAmount: Optional(0), 
        paidAmount: Optional(5), 
        createdAt: nil, 
        updatedAt: nil)

【问题讨论】:

  • 当然有,因为所有结构成员都被声明为可选项。这可能是滥用String InterpolationString(describing
  • 你想达到什么目的?
  • 这应该可以帮助您理解为什么要打印 Optional(xxx):stackoverflow.com/questions/25846561/printing-optional-variable
  • @Damon 我正在尝试发出 POST 请求,现在所有选项都变成 String 当它应该是 Int 时
  • @Andreas 请显示可选项在哪里变成了字符串。在你分享的编码数据中,我找不到。

标签: ios swift codable


【解决方案1】:

编写 var id: Int? 使 Integer 类型可选。这只是意味着如果检测到它为空,程序将不会结束。该计划将继续进行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    相关资源
    最近更新 更多