谢谢
我发现这个解决方案:
[managedobjectContext lock];[managedobjectContext reset];//to drop pending changesif ([persistentStoreCoordinator removePersistentStore:persistentStore error:&error]){NSURL* storeURL = [NSURL fileURLWithPath:[self pathForPersistentStore]];[[NSfileManager defaultManager] removefileAtPath:[storeURL path] handler:nil];[self addPersistentStore];//recreates the persistent store}[managedobjectContext unlock];解决方法 这是我完成清理我的核心数据.它工作完美.这是如果你只有一个持久性存储,这可能是这样的情况,如果你没有再手动添加一个.如果您的managedobjectContext具有与此相同的名称,您可以简单地复制/过去它将会工作.
NSError * error;// retrIEve the store URLNSURL * storeURL = [[managedobjectContext persistentStoreCoordinator] URLForPersistentStore:[[[managedobjectContext persistentStoreCoordinator] persistentStores] lastObject]];// lock the current context[managedobjectContext lock];[managedobjectContext reset];//to drop pending changes//delete the store from the current managedobjectContextif ([[managedobjectContext persistentStoreCoordinator] removePersistentStore:[[[managedobjectContext persistentStoreCoordinator] persistentStores] lastObject] error:&error]){ // remove the file containing the data [[NSfileManager defaultManager] removeItemAtURL:storeURL error:&error]; //recreate the store like in the appDelegate method [[managedobjectContext persistentStoreCoordinator] addPersistentStoreWithType:NSsqliteStoreType configuration:nil URL:storeURL options:nil error:&error];//recreates the persistent store}[managedobjectContext unlock];//that's it !总结
以上是内存溢出为你收集整理的ios – 如何从Core Data中的持久存储中删除所有对象?全部内容,希望文章能够帮你解决ios – 如何从Core Data中的持久存储中删除所有对象?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)