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

        

             

        }

        

     

     

     

     

    我是一只小鸟,但我也要飞向更高的蓝天,总有一天会长大的。
  • 相关阅读:
    对图像去噪的拙见
    FastIV图像处理
    常见小波变换开源代码
    暗通道去雾与自适应直方图均衡去雾之比较
    CUDA编程札记
    一种极快速去模糊效应图像细节增强及其应用
    基于稀疏表示的人脸识别
    C# Update Oracle Blob字段的一个错误问题
    ArcEngine开发过程中 Erase工具调用失败的解决办法
    模型化空间分析原型系统开发
  • 原文地址:https://www.cnblogs.com/Stone-Yuan/p/6282153.html
Copyright © 2011-2022 走看看