タグ

2013年11月25日のブックマーク (1件)

  • CoreDataの非同期処理 - UIスレッドを止めないために - Qiita

    データベースを扱うのに CoreDataは便利ですが、大量データの更新や保存をする際にはメインスレッドを妨害しないように別のスレッドで処理する必要があります。 ここでは CoreDataで非同期処理を行うための Tipsを紹介します。 元ネタは Multi-Context CoreData です。より詳しい解説や図解はこちらをどうぞ。 NSManagedObjectContext とマルチスレッド NSManageObjectContext は CoreDataのデータオブジェクトを管理するクラスですが、このクラスはスレッドセーフではありません。このため、マルチスレッドで CoreDataのオブジェクトを扱えるようにするにはスレッドごとに NSManageObjectContextを用意する必要があります。 iOS 5以降では initWithConcurrencyType: に NSPr

    CoreDataの非同期処理 - UIスレッドを止めないために - Qiita
    griefworker
    griefworker 2013/11/25
    メイン・更新・書き込みの3つのコンテキストを使って、更新・永続化をバックグラウンドで行う手法。正直大変。