NSMergeConflict für NSManagedObject mit einem einzelnen ManagedObjectContext

Ich arbeite mit coreData, ich habe eine zu viele Beziehung zwischen Ordnern und Dateien.

Ich verwende in meiner Anwendung nur einen MOCIch übergebe es nur an andere

viewController, die Vorgänge wie Hinzufügen, Bearbeiten, Löschen und anschließendes Speichern ausführen.

Mein rootViewController verwendet NSfetchResultsController, ich erstelle Ordner damit, speichere und zeige sie auf meiner Tabelle an.

Sparen mache ich so

        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();
        }

Wenn ich dann einen Ordner auswähle, öffne ich eine Datei ViewController. Beim Öffnen übergebe ich das MOC auf diese Weise an die Datei VC

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

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

dann erstelle ich eine Datei in FileVC und speichere sie auf diese Weise erneut in 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();
        }

verwende ich auf diese Weise zwei MOCs oder ein einzelnes MOC?

In meinem appdelegate.m habe ich das auch versucht

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

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

            self.rootViewController.managedObjectContext = self.managedObjectContext;

Manchmal, wenn ich eine Datei in einem Ordner hinzufüge, erhalte ich "NSMergeConflict for NSManagedObject"

Bitte helfen Sie

Grüße Ranjit.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage