领域中每个对象的领域对象通知

Posted

技术标签:

【中文标题】领域中每个对象的领域对象通知【英文标题】:Realm object notification for every object in realm 【发布时间】:2018-01-12 20:36:48 【问题描述】:

我正在为我的应用程序创建一个同步管理器,该过程的一部分是跟踪在本地领域中所做的更改并将它们排队以上传到服务器。据我所知,收集通知缺少此案例的一些重要细节,例如缺少已删除对象的primaryKey。当相关对象的属性发生更改时,它们还会发送通知,这不是我在跟踪同步更改时想要的行为。

库SyncKit 通过遍历领域中的每个对象并将对象通知添加到字典[String: NotificationToken] 来管理更改跟踪,其中对象id 是字典键。这似乎是合理的,但我想知道这种方法是否存在基于 NotificationToken 的实现的性能限制。

如果同时删除 1000 个对象会怎样?在 Realm 中存储 20,000 个对象是否合理,每个对象都有自己的 NotificationToken

【问题讨论】:

【参考方案1】:

我认为您需要考虑何时可以更改数据。例如,您创建一个对象 => 触发 SERVER API 请求。然后,用户编辑了一些对象 => 在对象更新时触发请求。用户删除了一些对象-> 做同样的事情。我没有使用SyncKit,所以我不知道它可以做的确切功能。但是在通知更改上保留 10k 引用...这似乎不合理

【讨论】:

以上是关于领域中每个对象的领域对象通知的主要内容,如果未能解决你的问题,请参考以下文章

通知每个持有B对象引用的A对象已删除B对象

六 领域驱动设计-领域对象的生命周期

领域链接对象和删除

领域:创建(或发布)领域对象的更好方法是啥?

如何在 Swift 中使用 Mappable 协议映射自定义对象的领域列表

保存对象时从错误线程访问的领域