zoukankan      html  css  js  c++  java
  • 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()

    //    }

    //    

    }

    一天一章
  • 相关阅读:
    员工管理系统————员工删除模块
    员工管理系统————员工管理模块
    员工管理系统————登陆验证模块
    员工管理系统————首页登陆模块
    为什么大多数编程语言中的数组都从0开始
    C/C++大数库简介
    一个比较全面的java随机数据生成工具包
    Linux环境下JDK/Eclipse一键安装脚本
    OOAD与UML笔记
    Cache模拟器(CacheSim)
  • 原文地址:https://www.cnblogs.com/hangman/p/8403825.html
Copyright © 2011-2022 走看看