做这样的事情很简单:
class Collection {
init(json: [String: AnyObject]){
guard let id = json["id"] as? Int, name = json["name"] as? String else {
print("Oh noes, bad JSON!")
return
}
}
}
在那种情况下,我们let
用来初始化局部变量。但是,修改它以使用类属性会导致它失败:
class Collection {
let id: Int
let name: String
init(json: [String: AnyObject]){
guard id = json["id"] as? Int, name = json["name"] as? String else {
print("Oh noes, bad JSON!")
return
}
}
}
它抱怨let
或var
需要使用,但显然情况并非如此。在 Swift 2 中执行此操作的正确方法是什么?