我正在使用coreData,文件夹和文件之间存在一对多的关系。

我在整个应用程序中仅使用一个MOC,只是将其传递给其他应用程序

viewControllers,执行添加,编辑,删除然后保存之类的操作。

我的rootViewController使用NSfetchResultsController,我用它创建文件夹,保存并显示在表上。

节省我这样做

        NSError *error;
        if (![self.managedObjectContext save:&error]) {
            // Replace this implementation with code to handle the error appropriately.
            // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        }


然后每当我选择一个文件夹时,我都会打开一个文件ViewController,同时打开时,我会以这种方式将MOC传递给文件VC

         FileViewController *file = [[FileViewController alloc] initWithNibName:@"FileViewController" bundle:nil];

        file.managedObjectContext = self.managedObjectContext;
        file.controller = self.controller;


然后我在FileVC内创建一个文件,然后再次以这种方式将其保存在FileVC中

        NSError *error;
        if (![self.managedObjectContext save:&error]) {
            // Replace this implementation with code to handle the error appropriately.
            // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        }


这样,我是使用两个MOC还是一个MOC?

在我的appdelegate.m中,我也尝试过

self.rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];

            _navigationController = [[UINavigationController alloc] initWithRootViewController:self.rootViewController];
            [self.managedObjectContext setMergePolicy:NSMergeByPropertyStoreTrumpMergePolicy];

            self.rootViewController.managedObjectContext = self.managedObjectContext;


有时,当我在文件夹中添加文件时,会出现“ NSMergeConflict for NSManagedObject”

请帮忙

问候
兰吉特

最佳答案

我很确定您只使用一个托管对象上下文。您必须创建第二个才能使用第二个。尽管即使我是对的,但由于我现在正在处理该问题,所以我对NSMergeConflict没有任何评论。

关于ios - 具有单个ManagedObjectContext的NSManagedObject的NSMergeConflict,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19443853/

10-11 21:00