优化iOS应用:Core Data与网络数据获取
1. 响应数据库变化
在处理数据库变化时,我们可以使用两种方法: NSFetchedResultsController 和通知。下面是一个通过通知来响应持久容器中托管对象上下文变化的示例代码:
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector:
#selector(self.managedObjectContextDidChange(notification:)), name:
.NSManagedObjectContextObjectsDidChange, object: nil)
}
当视图加载时,当前的 MoviesViewController 实例会被添加为 .NSManagedObjectContextObjectsDidChange 通知的观察者。这样,每当向数据库添加新数据时,用户界面就会更新。
2. 理解多个 NSManagedObjectContext 实例的使用
在很多情况下,我们只需要一个托管对象上下文。但当进行大量数据导入等操作时,使用单个托管对象上下文会导致主线程阻塞,使用户界面失去响应。这时,使用多个托管对象上下文是解决问题的关键。
过
iOS优化:Core Data与网络数据获取
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



