我真的很兴奋现在使用核心数据,因为他们让它变得多么 * 简单 *(截至WWDC 2016)。
在应用程序启动时,我计划从Core Data加载预更新的数据,然后让persistentContainer
的performBackgroundTask
对某些实体进行更新/保存。由于实体是在后台更新的,因此在获取时,UI应该始终显示最新的数据(无论这些实体是否更新)。
当我使用一个上下文时,将viewContext的automaticallyMergesChangesFromParent
标志设置为true
并将其生成设置为.current
是否安全?
lazy var persistentContainer: NSPersistentContainer = {
let container: NSPersistentContainer = {
$0.viewContext.automaticallyMergesChangesFromParent = true
try? $0.viewContext.setQueryGenerationFrom(.current)
return $0
}(NSPersistentContainer(name: "MyFirstApp"))
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error {
fatalError("Unresolved error \(error), \(error._userInfo)")
}
})
return container
}()
字符串
1条答案
按热度按时间9avjhtql1#
这两个设置都应该没问题,但是如果你只使用一个上下文,这两个都不重要。
automaticallyMergesChangesFromParent
只会在不同的上下文执行保存时合并更改,当另一个上下文正在更改你当前上下文正在阅读的数据时,查询生成是有用的。