码迷,mamicode.com
首页 > 其他好文 > 详细

使用runtime获取属性

时间:2017-01-13 11:59:15      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:定义   get   获取   variable   mil   unsigned   ons   ica   bsp   

在   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);

    

         

    }

    

 

 

 

 

使用runtime获取属性

标签:定义   get   获取   variable   mil   unsigned   ons   ica   bsp   

原文地址:http://www.cnblogs.com/Stone-Yuan/p/6282153.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!