2016-08-14 10 views
1

だから私はので、彼らは(WWDC 2016のように)それを作ったどのくらい単純の今コアデータを使用する本当には興奮しています。コアデータのNSPersistentContainer 10/MacOSのシエラ

アプリの起動時に、コアデータから事前更新されたデータを読み込み、persistentContainerperformBackgroundTaskにいくつかのエンティティへの更新/保存を実行する予定です。エンティティがバックグラウンドで更新されると、UIはフェッチ時に常に最新のデータを表示する必要があります(これらのエンティティが更新されたかどうかは関係ありません)。

私がONEコンテキストで作業している場合、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 
}() 

ありがとうございます!

答えて

0

これら両方の設定は問題ありませんが、1つのコンテキストでしか作業していない場合はどちらも問題になりません。 automaticallyMergesChangesFromParentは、別のコンテキストが保存を実行し、現在のコンテキストが読み取っているデータを別のコンテキストが変更しているときに、生成世代が役立つ場合にのみ変更をマージします。

関連する問題