CoreDataのデータベースへのアクセスをマルチスレッドにするところで苦戦中。

シングルスレッドでは、検索クエリをかけている際にどうしても、ユーザインタフェースの動作がとまってしまう。UIをとめないで、バックグラウンドでDBからデータを取り出すようにしたいのだが、なかなかむずかしい。

MLの記事によると、スレッド間で同じNSManagedObjectContext内のNSManagedObjectにアクセスすることはできない、いいかえると、スレッドごとにNSManagedObjectContextを持たせる必要がある。スレッド間のやりとりは、ObjectIDを使って、対象となるNSManagedObjectを特定することができる。

/Developer/Examples/CoreData/BackgroundFetchingに例があるがかなりやっかいだ。一両日中にこの問題にけりを付けて、気持ちよく2006年を迎えたいものだ。


No Responses to “CoreDataのマルチスレッド化”  

  1. No Comments

Leave a Reply



 
best oem soft acrobat 8 for mac oem buy replica mobile