Eon*_*nil 4 reflection cocoa objective-c declared-property
Objective-C提供运行时反射功能.我正在尝试查找声明属性的getter/setter选择器名称.我知道像field
/ 这样的基本规则setField:
.无论如何,我认为运行时反射应该提供一个功能来解析完整抽象的名称,但我找不到该功能.
如何在Objective-C中解析带有运行时反射的声明属性的getter/setter方法选择器(而不是实现)(实际上是Apple的Cocoa)
或反向查询.(方法选择器→声明的属性)
我认为只有在使用explicit声明属性时才能获取选择器名称(setter = XXX和/或getter = XXX)
因此,要获取类'Cat'的某些属性'furType'的getter和setter选择器名称:
objc_property_t prop = class_getProperty([Cat class], "furType");
char *setterName = property_copyAttributeValue(prop, "S");
if (setterName == NULL) { /*Assume standard setter*/ }
char *getterName = property_copyAttributeValue(prop, "G");
if (getterName == NULL) { /*Assume standard getter */ }
Run Code Online (Sandbox Code Playgroud)
除了遍历所有属性并查找匹配项之外,我不知道反向查询.希望有所帮助.
归档时间: |
|
查看次数: |
1896 次 |
最近记录: |