大佬教程收集整理的这篇文章主要介绍了objective-c – 如何删除核心数据持久性存储,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
- (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.
- (void)reset { // Release CoreData chain [_managedObjectContext release]; _managedObjectContext = nil; [_managedObjectModel release]; _managedObjectModel = nil; [_persistentStoreCoordinator release]; _persistentStoreCoordinator = nil; // delete the sqlite file NSError *error = nil; if ([fileManager fileExistsAtPath:_storeURl.path]) [fileManager removeItemAtURL:_storeURL error:&error]; // handle error... }
基本上我只是释放CoreData链,然后删除persistentStore文件.这就是你要做的,不使用removePersistentStore,我不在乎,因为我稍后会重建persistentStore协调器.然后在下一个核心数据调用时,使用单独的惰性样式构造函数透明地重建链,例如:
- (NsmanagedObjectModel *) managedObjectModel { if (!_managedObjectModel) _managedObjectModel = [[NsmanagedObjectModel mergedModelFromBundles:nil] retain]; return _managedObjectModel; }
以上是大佬教程为你收集整理的objective-c – 如何删除核心数据持久性存储全部内容,希望文章能够帮你解决objective-c – 如何删除核心数据持久性存储所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。