我正在尝试像这样以编程方式获取 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
我认为原因应该是Realm在类结构之外添加了一个“RLMStandalone_MyRLMObject”,导致class_copyPropertyList无法工作。
这个问题有什么解决方法吗?提前致谢。