0

场景:共享/同步领域。具有多个视图的 iOS/Swift 应用程序。

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

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

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

4

2 回答 2

3

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

于 2016-12-16T16:23:29.817 回答
0

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

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

于 2016-12-16T08:17:22.080 回答