跨多个视图保持同步 activity 的最佳实践或设计模式是什么?

What is the best practice or design pattern to maintain sync activity across multiple views?

场景:Shared/Sync'd 领域。 iOS/Swift 具有多个视图的应用。

为了在后台保持同步并为多个视图提供自动(实时)更新,我应该使用什么最佳实践设计模式?

看看额外的任务应用程序 - 这是有道理的,但该应用程序实际上只有一个活动视图。如果我有多个视图怎么办?

我应该销毁数据更改的 Realm 通知并为每个视图重建吗?

你可以使用观察者模式。此外,如果您将 CoreData 用于您的模型,那么获取 update/insert/delete 回调并相应地更新您的视图也非常容易。

iOS 中的观察者模式:https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html

在此处获取有关 CoreData 的更多详细信息:https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/index.html?utm_source=iosstash.io

推荐的方法与单个视图控制器相同。为每个视图控制器获取一个 Results 对象,并将其直接用作数据源。您可以使用 Realm 的通知机制观察结果对象。当影响结果的更改从后台线程提交时,将触发通知。结果对象已自动更新为最新状态,您应该做的只是更新 UI.