zoukankan      html  css  js  c++  java
  • 使用runtime获取属性

    在   YuansPerson 类中定义属性(在.h 和.m 中定义都可以)

    class_copyIvarList:获取类的所有属性变量,count记录变量的数量IVar是runtime声明的一个宏,是实例变量的意思,instance variable,在runtime中定义为 typedef struct objc_ivar *Ivari

    var_getName:将IVar变量转化为字符串

    ivar_getTypeEncoding:获取IVar的类型

     

     object_setIvar(<#id obj#>, <#Ivar ivar#>, <#id value#>)  :  可以强制修改原属性的值

     

     

     YuansPerson *yuansPerson = [YuansPerson new];

     

     unsigned int count = 0;

     Ivar *nameList = class_copyIvarList([YuansPerson class], &count);

        

        for (int i = 0;i < count; i ++) {

            

            Ivar var = nameList[i];

            const char *name = ivar_getName(var) ;

            const char *type = ivar_getTypeEncoding(var);

            

            NSLog(@"name = %s type = %s",name,type);

        

             

        }

        

     

     

     

     

    我是一只小鸟,但我也要飞向更高的蓝天,总有一天会长大的。
  • 相关阅读:
    Javascript高性能编程-提高Dom访问速度
    获取在线人数
    js倒计时
    支付宝支付
    微信扫码支付
    多条sql语句实现事物处理
    防止页面重复刷新
    bootstrapTable.js 使用
    org_chart.js 使用方法
    js上传图片及时显示
  • 原文地址:https://www.cnblogs.com/Stone-Yuan/p/6282153.html
Copyright © 2011-2022 走看看