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,如果属性比较多的话,就比较繁琐。
但是如果用反射的话,就很容易了。
