使用以下代码,我尝试定义一个简单的模型类,它是可用的初始化器,它将(json-)字典作为参数.nil
如果未在原始json中定义用户名,则应返回初始化程序.
1.为什么代码不能编译?错误消息说:
在从初始化程序返回nil之前,必须初始化类实例的所有存储属性.
这没有意义.我计划返回时为什么要初始化这些属性nil
?
2.我的方法是正确的,还是会有其他想法或共同模式来实现我的目标?
class User: NSObject {
let userName: String
let isSuperUser: Bool = false
let someDetails: [String]?
init?(dictionary: NSDictionary) {
if let value: String = dictionary["user_name"] as? String {
userName = value
}
else {
return nil
}
if let value: Bool = dictionary["super_user"] as? Bool {
isSuperUser = value
}
someDetails = dictionary["some_details"] as? Array
super.init()
}
}
Run Code Online (Sandbox Code Playgroud)