是否可以通过编程方式确定类具有哪些属性?我想看看类(或子类)定义了什么属性。我被告知这与称为运行时内省的事情有关。我发现了this article,但它似乎只是冰山一角。
那么,是否可以通过编程方式确定类具有哪些属性?怎么样?
修改:
我正在开发iOS,而不是Mac OS X.我需要导入哪些标题?
答案 0 :(得分:4)
Objective-C运行时编程指南包括a section about listing properties。实际获取列表的相关代码段是:
id LenderClass = objc_getClass("Lender");
unsigned int outCount;
objc_property_t *properties = class_copyPropertyList(LenderClass, &outCount);
然后使用运行时属性函数获取有关列表中每个属性的所需信息。