Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么领域对象中缺少我的属性?_Ios_Objective C_Realm - Fatal编程技术网

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
时会受到很大限制,因为它使用自定义领域查询引擎。您可能可以检查其他领域属性是否与该属性匹配,但无法使用该属性本身作为搜索项创建查询