Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 是否可以检测NSObject属性的名称_Objective C - Fatal编程技术网

Objective c 是否可以检测NSObject属性的名称

Objective c 是否可以检测NSObject属性的名称,objective-c,Objective C,我有一个目标 @interface MyObject : NSObject @property bool pName1; @property NSString *pName2; 我希望在函数中检测属性的名称(pName1,pName2..) -(void)dosomething:(id)a 可能吗? 欢迎任何评论您可以使用运行时函数class\u copyPropertyList()获取给定类的属性列表。还有一个运行时函数property\u getName(),它将为给定属性提供名称。使

我有一个目标

@interface MyObject : NSObject 
@property bool pName1;
@property NSString *pName2;
我希望在函数中检测属性的名称(pName1,pName2..)

-(void)dosomething:(id)a
可能吗?
欢迎任何评论

您可以使用运行时函数
class\u copyPropertyList()
获取给定类的属性列表。还有一个运行时函数
property\u getName()
,它将为给定属性提供名称。使用这两个函数,您可以获得给定对象的所有属性的名称。

@ranreloated KVC和KVO依赖于您已经知道对象属性的名称。如果希望动态发现这些名称,则需要查看Obj-C运行时。