【问题标题】:saving data in a swift model将数据保存在 swift 模型中
【发布时间】:2020-02-03 13:14:50
【问题描述】:

我有一个用户模型定义如下:

class UserModel: NSObject {

var firsname: String?
var lastname: String?
var mail: String?

}

在我的一个 http 请求中,我将 json 响应捕获为:

guard let mail = jsonArray[0]["mail"] as? String else { return }

因此,当我打印邮件 print(mail) 时,它可以正常工作并打印正确的邮件字符串,但是当我尝试将该电子邮件保存在我的用户属性中时,它会给我一个 nil 值。

guard let mail = jsonArray[0]["mail"] as? String else { return }
    self.user?.mail = mail
    if let mailUnwrapped = self.user?.mail {
    print(mailUnwrapped)     // prints nil 
    }

我错过了什么吗?请提供任何帮助!谢谢你

【问题讨论】:

  • 它不能打印nil,因为如果self.user?.mail的值为nil,它就不会进入if块。

标签: arrays json swift


【解决方案1】:

您可能需要先初始化用户,然后再设置它的属性。 试试:

// First
self.user = UserModel()
// Then
guard let mail = jsonArray[0]["mail"] as? String else { return }
self.user?.mail = mail

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 2013-06-04
    相关资源
    最近更新 更多