class Person : NSObject {
var name : String
var age : Int
// 重寫了NSObject(父類)的構(gòu)造方法
override init() {
name = "張三"
age = 1
}
}
let p : Person = Person()
print("name = \(p.name) , age = \(p.age)") // name = 張三 , age = 1
class Person : NSObject {
var name : String
var age : Int
// 自定義構(gòu)造函數(shù),會(huì)覆蓋init()函數(shù)
init(name : String, age : Int) {
self.name = name
self.age = age
}
}
// 創(chuàng)建一個(gè)Person對(duì)象
let p = Person(name: "李四", age: 18)
print("name = \(p.name) , age = \(p.age)") // name = 李四 , age = 18
字典轉(zhuǎn)模型(初始化時(shí)傳入字典)
真實(shí)創(chuàng)建對(duì)象時(shí),更多的是將字典轉(zhuǎn)成模型
注意:
去字典中取出的是NSObject(任意對(duì)象類型)或者Any(任意類型).
可以通過(guò)as!轉(zhuǎn)成需要的類型,再賦值 (不可以直接賦值)
class Person: NSObject {
var name : String
var age : Int
// 自定義構(gòu)造函數(shù),會(huì)覆蓋init()函數(shù)
init(dict : [String : Any]) {
name = dict["name"] as! String
age = dict["age"] as! Int
}
}
// 創(chuàng)建一個(gè)Person對(duì)象
let dict : [String : Any] = ["name" : "王五" , "age" : 21]
let p = Person(dict: dict)
print("\(p.name) \(p.age)")