• 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()

    //    }

    //    

    }

    一天一章
  • 相关阅读:
    怀念
    红颜知己
    我的孩子们
    10月22日
    Movies
    vue返回上一页效果(this.$router.go、)
    Java随笔
    Java随笔
    java随笔
    java随笔
  • 原文地址:https://www.cnblogs.com/hangman/p/8403825.html
Copyright © 2020-2023  润新知