swit4 获取属性列表

class People: NSObject {

    

    var name:String?

    

    var age:Int = 0

    

    var title:String?

    

    

//    override init() {

//      //  name="dffe"

//

//       // let <#name#> = <#value#>

//        let cont = UInt32()

//

//

//        class_copyIvarList(self, &cont)

//      //  super.init()

//

//    }

//

  class  func propretyList() ->[String] {

        

    var cont:UInt32 = 4

    //这个在switf4中不行

  //  let list = class_copyPropertyList(self, &cont)

    let list = class_copyIvarList(self, &cont)

        

     print("属性个数\(cont)")

    

  //  print(list ?? <#default value#>)

        

        for i in 0..<Int(cont) {

            

            let pty = list?[i]

            //获取属性的名称<C语言字符串>

            //转换过程:Int8 -> Byte -> Char -> C语言字符串

            //let cName = property_getName(pty!)

            let cName = ivar_getName(pty!)

            //转换成String的字符串

            let name = String(utf8String: cName!)

            print(name!)

            

            

            

            

            

            

            

        }

          free(list) //释放list

        

        return []

    }

    

//    init(name:String) {

//        

//        self.name=name

//        

//        //super.init()

//    }

//    

}

转载于:https://www.cnblogs.com/hangman/p/8403825.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值