你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Object c 反射

2022/5/19 7:41:03

Object c也有和java相同的方法获取对象的属性列表方法,也就时反射了。

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html

 

下面这段代码演示了如何获取类的属性相关信息

#import <objc/runtime.h>

#import <Foundation/Foundation.h>

unsigned int outCount, i;

objc_property_t *properties = class_copyPropertyList([UITouch class], &outCount);

for(i = 0; i < outCount; i++) {

    objc_property_t property = properties[i];

    fprintf(stdout, "%s %s\n", property_getName(property), property_getAttributes(property));

}

free(properties);



参考文档

http://stackoverflow.com/questions/754824/get-an-object-attributes-list-in-objective-c

反射在NSCoding里如何试用

NSCoding里如果要实现其协议的话,要定义很多Key,如果属性比较多的话,就比较繁琐。
但是如果用反射的话,就很容易了。