国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Swift3.0--運(yùn)行時(shí)加載屬性列表

2019-11-09 16:56:45
字體:
供稿:網(wǎng)友
import UIKitclass Person: NSObject {    var name: String?;    var age: Int = 0;    var title: String?;    //PRivate,在運(yùn)行時(shí)同樣獲取不到屬性,(可以獲取到ivar),同樣會讓KVC崩潰    //    private var title: String?;            // 目標(biāo):獲取當(dāng)前類所有屬性的數(shù)組,使用運(yùn)行時(shí)    class func propertyList () -> [String] {                //1.獲取類的屬性列表        var count: UInt32 = 0;                let list = class_copyPropertyList(self, &count);                //2.遍歷數(shù)組//        for i in 0..<Int(count) {//            //            //3.根據(jù)下標(biāo)獲取屬性//            //objc_property_t//            let pty = list?[i];//            //            //4.獲取屬性的名稱 - c語言字符串//            // <Int8> -> c語言的字符串//            let cname = property_getName(pty!);//            //            //5.轉(zhuǎn)換成oc的字符串//            let name = String(utf8String: cname!);//            //            print(name ?? "");//            //        }                        for i in 0..<Int(count) {                        //3.根據(jù)下標(biāo)獲取屬性            //使用 guard 語法,以此判斷是否有值,只要有一項(xiàng)為nil,就不再執(zhí)行后續(xù)代碼            guard let pty = list?[i],                  let cname = property_getName(pty),                  let name = String(utf8String: cname)            else {                //繼續(xù)下一個(gè)循環(huán)                continue;            }                        //name是一定有值的            print(name);                    }                        //6.釋放c 的對象        free(list);                print("屬性的數(shù)量: /(count)");                return [];    }}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东乡县| 安多县| 嵊泗县| 曲周县| 彭泽县| 鹤庆县| 马龙县| 壤塘县| 保德县| 贺兰县| 五家渠市| 淮北市| 聊城市| 成安县| 鸡泽县| 临潭县| 巴楚县| 伊吾县| 临洮县| 凤山县| 湛江市| 岳阳县| 博爱县| 库伦旗| 丰宁| 明水县| 巫溪县| 宝山区| 郸城县| 太谷县| 淮安市| 杭锦旗| 宝丰县| 吴堡县| 介休市| 五莲县| 泰州市| 科技| 浙江省| 平阴县| 沙雅县|