永続ストアを削除する必要があります(100,000個以上のオブジェクトがあるため、オブジェクトをオブジェクトで実行することは実用的ではありません)。 コアデータの永続ストアを削除する方法
- (IBAction)resetDatabase:(id)sender {
NSPersistentStore* store = [[__persistentStoreCoordinator persistentStores] lastObject];
NSError *error = nil;
NSURL *storeURL = store.URL;
// release context and model
[__managedObjectContext release];
[__managedObjectModel release];
__managedObjectModel = nil;
__managedObjectContext = nil;
[__persistentStoreCoordinator removePersistentStore:store error:nil];
[__persistentStoreCoordinator release];
__persistentStoreCoordinator = nil;
[[NSFileManager defaultManager] removeItemAtPath:storeURL.path error:&error];
if (error) {
NSLog(@"filemanager error %@", error);
}
// recreate the stack
__managedObjectContext = [self managedObjectContext];
}
しかし、私はその後店にエンティティを挿入しようとすると、私はこのエラーを取得する:私はこれを試してみた
This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.
アップデート: 私は削除する前に、MOCとMOMを解放しようとしました永続的なストアが、私はまだ同じエラーが発生します。
うわー、私は問題が 'removePersistentStore'だと思います。その行がなければそれは働いた...私はしかし、なぜに興味がある。 – David
私は、.sqliteファイルを削除するだけで、 "外部ストレージを許可する"というコアデータ属性を使用すると多くのゴミが残ってしまうという感覚があります。 – magma
マグマが正しいですが、iCloudを使用すると問題が発生します。 –