代碼示例運(yùn)行環(huán)境為 IOS10讳苦,Swift3.0
在swift3.0下獲取類或者對(duì)象的 類型 需要分兩種情況辩块。
類繼承于NSObject
自定義類User
class User: NSObject {
}
此時(shí)獲取類型的方法為
let user = User()
let classType1:AnyClass = User.classForCoder()
let classType2:AnyClass = User.self
let objectType1:AnyClass = user.classForCoder
let objectType2:AnyClass = type(of:user)
其中classForCoder()
和classForCoder
返回的是AnyClass橄仆,而另外兩個(gè)方法返回的是User.Type
,AnyClass可以通過user.classForCoder as! User.Type
轉(zhuǎn)換為實(shí)際的類型稀余。
純Swift類
跟繼承自NSObject類相比及舍,不能通過 classForCoder
來實(shí)現(xiàn)。
如果有任何疑問或者是文中存在技術(shù)性錯(cuò)誤芹壕,請(qǐng)留言汇四,我會(huì)盡快回復(fù)或者更改。