class Person:NSObject{
var name:String?
var age:Int = 0
override init(){
//在构造函数中,如果没有明确super.init(),那么系统会帮助调用super.init()
print("dddd")
}
//自定义构造函数
init(name:String,age:Int) {
self.name=name
self.age=age
}
init(dict:[String:AnyObject]) {
let tempName=dict["name"]
//tempName 是AnyObject?转成String?
//as? 最终转成的类型是一个可选类型
//as! 最终转成的类型是一个确定的类型
name=tempName as? String
if let tempAge=dict["age"] as?Int{
age=tempAge
}
}
}
let p=Person()
let p1=Person(dict: ["name":"哈哈" as AnyObject,"age":15 as AnyObject])
let p2=Person(name: "哈哈", age: 18)
Swift——类的构造函数
最新推荐文章于 2022-09-19 22:18:57 发布