Swift運(yùn)行時獲取屬性

//運(yùn)行時獲取屬性,基本數(shù)據(jù)類型在OC中沒有可選,如果定義成可選,運(yùn)行時獲取不到,使用KVC就會奔潰

//private的屬性,運(yùn)行時同樣獲取不到,使用KVC就會奔潰

類必須繼承NSObject,否則獲取不到屬性

classPerson:NSObject{

varname ="piaojin"

varage =20

varvalue ="love"

classfuncgetPropertyList() -> [String]{

varcount :UInt32=0

//獲取類的屬性列表,返回屬性列表數(shù)組(可選值)

letlist =class_copyPropertyList(self, &count)

print("屬性的數(shù)量:\(count)")

//遍歷數(shù)組

foriin0..

//根據(jù)下標(biāo)獲取屬性

guardletpty = list?[i],

//獲取屬性的名稱,返回的是c語言的char

letcName =property_getName(pty),

//轉(zhuǎn)成String

letstr =String(utf8String:cName)else{

continue

}

print(str)

}

//釋放C語言的對象

free(list)

return[];

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容