gpt4 book ai didi

ios - class_copyPropertyList 不适用于 RLMObject

转载 作者:行者123 更新时间:2023-11-29 00:51:28 27 4
gpt4 key购买 nike

我正在尝试以编程方式获取 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无法工作。

这个问题有解决办法吗?提前致谢。

最佳答案

我认为问题是因为 RLMObject 具有动态属性,这意味着它们将在运行时创建并添加到每个对象,而您无法知道它何时会发生。

关于ios - class_copyPropertyList 不适用于 RLMObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38107668/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com