gpt4 book ai didi

ios - 如何快速检查使用 alamofire 创建的类模型是否为 nil?

转载 作者:搜寻专家 更新时间:2023-11-01 07:03:46 25 4
gpt4 key购买 nike

我使用包含以下数据的 HTTP 网络库 Alamofire 创建了类模型:

class MyData: NSObject {
var name = ""
var params = PublicData()

func initUserWithInfo(userInfo: [String : AnyObject]) {
if let name = userInfo["name"] as? String {
self.name = name
}
if let params = userInfo["params"] as? ParamData {
self.params = params
}
}
}

class PublicData: NSObject {
var city = ""

func initUserWithInfo(userInfo: [String : AnyObject]) {
if let city = userInfo["city"] as? String {
self.city = city
}
}
}

现在,当我尝试检查 params 是否为 nil 时,它会发出以下警告消息:

let data = MyData()
if data.params != nil {
}
Comparing non-optional value of type 'params' to nil always returns true

if data.params {
}

'params' is not convertible to 'Bool'

if data.rams as Bool {
}

Cannot convert value of type 'ImpressionObject' to type 'Bool' in coercion

如何检查嵌套模型类是否为 nil

最佳答案

您收到此错误是因为您正在初始化 params 的值并且以后不能为 nil。如果你想让它成为可选的,你应该尝试下面的代码

class MyData: NSObject {
var name = ""
/// making variable optional
var params: PublicData?

func initUserWithInfo(userInfo: [String : AnyObject]) {
if let name = userInfo["name"] as? String {
self.name = name
}
if let params = userInfo["params"] as? ParamData {
self.params = params
}
}
}

之后你应该如下使用它

let data = MyData()
if let parameters = data.params {
}

关于ios - 如何快速检查使用 alamofire 创建的类模型是否为 nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49380008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com