0

iPhone アプリでコア データ データベースを削除/リセットする際に問題が発生します。通常、次のように呼び出します。

[self.persistentStoreCoordinator removePersistentStore:persistentStore error:&localError];

また

[self.managedObjectStore resetPersistentStores:] // Restkit

アプリケーションの初回起動時にこれを呼び出すことはできますが、テーブルビューにデータをロードすると、永続ストアを削除しようとするとアプリケーションがハングするようです。これは、コア データ データベースをリセットする適切な方法ですか?

ありがとう!

4

1 に答える 1

3

resetまず、すべてのを実行する必要NSManagedObjectContextがあります。そうしないと、コンテキストに孤立したオブジェクトが含まれ、エラーが発生する可能性があるためです。

次に、常に sqlite ファイルをファイル システムから直接削除し、nil に設定します (コンテキストを再構築し、次のアクセス時に最初から保存するようにしますmanagedObjectContext) 。しかし、この部分については、どちらの方法がより適切かはわかりません。persistentStoreCoordinatorremovePersistentStore...

于 2012-10-08T04:54:33.180 に答える