Ios 为什么领域对象中缺少我的属性?
我正在使用领域进行持久化,无法访问标记为只读的属性 更准确地说,我可以使用点表示法打印它们,但是Ios 为什么领域对象中缺少我的属性?,ios,objective-c,realm,Ios,Objective C,Realm,我正在使用领域进行持久化,无法访问标记为只读的属性 更准确地说,我可以使用点表示法打印它们,但是po object仅显示读写属性,并且尝试使用objects访问只读属性时会出现崩溃 我已经使用标准的NSObject类进行了测试,问题消失了(对于po),这让我想知道为什么/if Realm会忽略只读属性?没错!如果属性被标记为只读,则Realm将忽略该属性,并且不会在数据库文件中为其创建备份。这与将方法放置在RLMObject的ignoredProperties方法中的隐式行为相同。它们保留为传统
po object
仅显示读写属性,并且尝试使用objects访问只读属性时会出现崩溃
我已经使用标准的NSObject类进行了测试,问题消失了(对于po
),这让我想知道为什么/if Realm会忽略只读属性?没错!如果属性被标记为只读
,则Realm将忽略该属性,并且不会在数据库文件中为其创建备份。这与将方法放置在RLMObject
的ignoredProperties
方法中的隐式行为相同。它们保留为传统的Objective-C属性。:)
如果需要使属性在po object
命令中可见,可以覆盖对象的-(NSString*)description
方法,并确保打印的描述字符串中包含对象
由于readonly
属性不受领域的支持,因此它们在使用objectsWhere
时会受到很大限制,因为它使用自定义领域查询引擎。您可能可以检查其他领域属性是否与该属性匹配,但无法使用该属性本身作为搜索项创建查询