0
工作,我想獲得一個RLMObject財產清單編程方式是這樣的:class_copyPropertyList不RLMObject
MyRLMObject *myRLMObject = [[MyRLMObject alloc] init];
unsigned int count;
objc_property_t *properties = class_copyPropertyList([myRLMObject class], &count);
但它返回null。
這適用於從NSObject派生的普通類。
我把一個斷點,並發現myRLMObject實際上是結構爲
(RLMStandalone_MyRLMObject *) 0x12c5c9cf0
MyRLMObject
RLMObject
_strName = (NSString *) nil
_strId = (NSString *) nil
(「則strName」和「strId」是我定義的屬性,並希望從列表中獲取。)
隨着從NSObject的派生正常類,我得到這個
(MyNSObject *) 0x12c5cab40
NSObject
_strName = (NSString *) nil
_strId = (NSString *) nil
我想原因應該是該領域增加了一個「RLMStandalone_MyRLMObject」階級結構和C外aused class_copyPropertyList無法正常工作。
有沒有解決這個問題的方法?提前致謝。
你能澄清你想達到的目標嗎? 'class_copyPropertyList'只能檢索在特定類中聲明的屬性,而不是任何超類。如果您想知道所有聲明的屬性,則可以遍歷繼承層次結構。如果由於某種原因,您只想知道Realm正在管理哪些屬性,則可以使用' - [RLMObject objectSchema]'檢索該信息,而無需還原到Objective-C運行時。 – bdash