我使用以下方法删除了在我的FBChat应用程序注销时存储在Core Data中的所有条目。
//delete persistance.......
if ([__persistentStoreCoordinator persistentStores] == nil)
return;
[self.managedObjectContext reset];
[self.managedObjectContext lock];
NSPersistentStore *store = [[self.persistentStoreCoordinator persistentStores] lastObject];
if (![self.persistentStoreCoordinator removePersistentStore:store error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
// Delete file
if ([[NSFileManager defaultManager] fileExistsAtPath:store.URL.path]) {
if (![[NSFileManager defaultManager] removeItemAtPath:store.URL.path error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
__persistentStoreCoordinator = nil;
__persistentStoreCoordinator = [self persistentStoreCoordinator];
[self.managedObjectContext unlock];
但是当我再次登录时,fetchcontroller
没有获取值。我在注销时设置了fetchcontroller=nil
。 fetchcontroller
的委托方法将在登录时被调用。
如果有人有想法那么请帮助我。提前致谢
答案 0 :(得分:0)
这是预期的行为。删除所有内容后,您没有获得值。如果你的获取结果控制器是懒惰创建的(代码未显示,但通常是设计模式),它将在需要时自行创建。
这里没有惊喜。