类的构造函数
class Person {
var name : String = ""
var age : Int = 0
init(dict:[String : Any]) {
if let name = dict["name"] as? String {
self.name = name;
}
if let age = dict["age"] as? Int {
self.age = age;
}
}
}
let p1 = Person(dict: ["name":"why","age":18])
使用KVC调用构造函数
需要注意事项
1.必须继承自NSObject
2.必须在构造函数中,先调用super.init()
3.调用setValueForKeys
class Person : NSObject {
var name : String = ""
var age : Int = 0
init(dict:[String : Any]) {
super.init()
setValuesForKeys(dict);
}
override func setValue(_ value: Any?, forKey key: String) {}
}
let p1 = Person(dict: ["name":"why","age":18,"phoneNum":"+86 100"])
print(p1.age)
网友评论