相关疑难解决方法(0)

删除/重置核心数据中的所有条目?

您知道删除Core Data中存储的所有条目的方法吗?我的架构应该保持不变; 我只是想把它重置为空白.


编辑

我希望以编程方式执行此操作,以便用户可以实际按下reset按钮.

cocoa cocoa-touch core-data nsmanagedobject ios

229
推荐指数
13
解决办法
15万
查看次数

核心数据后台线程NSManagedObjectContext合并错误

我正在编写一个Ipad应用程序,它在一个队列中的单独NSOperation中显示文章并下载新文章,并将它们插入到核心数据中.目前,我有一个单独的操作上下文,在操作的主方法中创建,并使用相同的协调器作为主上下文.我在NSManagedObjectContextDidSaveNotification的操作中使用了相同的模式,然后在主线程上下文中调用mergeChangesFromContextDidSaveNotification.问题是我收到了这个错误:

2011-01-27 07:26:02.574 Zagazine[12298:307] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Object's persistent store is not reachable from this NSManagedObjectContext's coordinator'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x3284b987 __exceptionPreprocess + 114
    1   libobjc.A.dylib                     0x31aca49d objc_exception_throw + 24
    2   CoreData                            0x3549d07b _PFRetainedObjectIDCore + 638
    3   CoreData                            0x3549cdfb - [NSManagedObjectContext(_NSInternalAdditions) _retainedObjectWithID:] + 14
    4   CoreData                            0x354bf85b -[NSManagedObjectContext mergeChangesFromContextDidSaveNotification:] + 2170
    5   CoreFoundation                      0x327e9bbf -[NSObject(NSObject) performSelector:withObject:] + 22
    6   Foundation                          0x320fd795 __NSThreadPerformPerform + 268
    7   CoreFoundation                      0x328017dd __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ …
Run Code Online (Sandbox Code Playgroud)

iphone core-data objective-c ipad ios

8
推荐指数
1
解决办法
7913
查看次数

如何以一对多关系清除/重置所有CoreData

我正在使用coreData,具有一对多的实现,我有一个文件夹实体和一个文件实体.文件夹可以包含许多文件,依此类推.

所以,我有两个ViewControllers,FolderViewController和FileViewController,它们分别包含文件夹和文件.现在我有一个modalView,可以从文件夹和文件viewcontroller访问.在这个VC中,我有一个重置所有数据的按钮.所以,当我点击这个时,我想要重置所有数据.

我使用了这段代码,这个函数是用appdelegate.m编写的,并从我的VC中调用.

- (void)resetToDefault
{
    NSError * error;
    // retrieve the store URL
    NSURL * 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 managedObjectContext
    if ([[__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 …
Run Code Online (Sandbox Code Playgroud)

core-data persistent-storage ios ios5 ios6

2
推荐指数
1
解决办法
3436
查看次数