Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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_Swift_Realm - Fatal编程技术网

Ios 接收有关任何子项更改的通知

Ios 接收有关任何子项更改的通知,ios,swift,realm,Ios,Swift,Realm,我正在使用Realm for Swift构建一个类似文档的模型。我的模式大致如下: Document | +- root: Group | +- children: [Node] +- Text: Node +- Image: Node +- Group: Node 例如: Document | +- root | +- text | +- group | | | +- image | | | +- tex

我正在使用Realm for Swift构建一个类似文档的模型。我的模式大致如下:

Document
|
+- root: Group
   |
   +- children: [Node]
      +- Text: Node
      +- Image: Node
      +- Group: Node
例如:

Document
|
+- root
  |
  +- text
  |
  +- group
  |  |
  |  +- image
  |  |
  |  +- text
  |
  +- text 
每次任意深度嵌套的子对象发生更改时,我都希望得到确切更改对象的通知,以便修剪表示该节点的视图树并使用最新数据重新绘制它

观察给定的
RLMObject
上的更改似乎只通知即时的属性更改,而观察
RLMRealm
上的所有更改并不报告实际更改的内容

有没有我缺少的API?
谢谢大家!

除了RLMObject和RLMRealm之外,您还可以观察集合上的更改。将通知块添加到集合属性Document.root.children。您还可以获取/查询Node类型的rlmobject,并向RLMResults对象添加通知块

更多信息,请参阅


一个限制是,您不知道对象中的哪个属性导致触发通知,只知道哪个对象发生了更改。关于这一点,GitHub有一个公开的问题:

谢谢,看来realm对我来说是行不通的,因为它有16层的深度限制