0
的屬性的名字,我有一個NSObject的是可以檢測一個NSObject的
@interface MyObject : NSObject
@property bool pName1;
@property NSString *pName2;
我希望在功能檢測性質的名稱(pName1,pName2 ..)
-(void)dosomething:(id)a
這可能嗎? 歡迎任何評論
的屬性的名字,我有一個NSObject的是可以檢測一個NSObject的
@interface MyObject : NSObject
@property bool pName1;
@property NSString *pName2;
我希望在功能檢測性質的名稱(pName1,pName2 ..)
-(void)dosomething:(id)a
這可能嗎? 歡迎任何評論
您可以使用運行時功能class_copyPropertyList()
獲得給定類的屬性列表。還有一個運行時功能property_getName()
,它會給你一個給定屬性的名稱。使用這兩個函數,您可以獲取給定對象的所有屬性的名稱。
您是否查看KVC/KVO? –
@ranReloaded KVC和KVO依靠您已經知道對象的屬性的名稱。如果您想要動態地發現這些名稱,則需要查看Obj-C運行時。 – Caleb