Problem mit NSObjectController und Core Data

Dylans Ghost

Dylans Ghost

Aktives Mitglied
Thread Starter
Dabei seit
25.09.2012
Beiträge
110
Reaktionspunkte
2
Hallo,
ich brauche zur Sicherung von Berechnungsdaten einen _objectController, der an Core Data gebunden ist.
Bei meinem _arrayController bekomme ich das MO durch [[_controller selectedObjects]objectAtIndex:0];
Wie komme ich beim _objectController an das MO ?

Uwe
 
hast du die bindings in der Xcode gui gemacht?
 
Yes, aber kein binding mit Controller Content.
ausserdem habe ich [_controller add:nil]; und ein fetchRequest gemacht und bekomme ein Array mit 0 elements.
Edit:
[_managedObjectModel entities];
(<NSEntityDescription: 0x604000140d10>) name Root,
"(<NSEntityDescription: 0x604000140dc0>) name Waves,
Sind registriert !
 

Anhänge

  • GUI .png
    GUI .png
    14,6 KB · Aufrufe: 123
Zuletzt bearbeitet:
Heureka !
in Guides and Sample Code - Core Data Snippets hab' ich die Lösung gefunden.
And so, to whom it concerns :
Code:
-(void)validateManagedObject
{
    NSArray * array = [self fetchRoot];
    if([array count] == 0) _rootObject = [self newObject];
    NSData * data = [_rootObject valueForKey:kWaveResult];
   // Document's autosavesInPlace insistiert, wenn binary Data keinen Wert enthält
    if(data == nil)
    {
        data = [NSKeyedArchiver archivedDataWithRootObject:_rootDictionary];
        [_rootObject setValue:data forKey:kWaveResult];
    }
}

-(NSArray*)fetchRoot
{
    NSManagedObjectContext *moc = [ self mangedObjectContext ];
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Root"];
  
    NSError *error = nil;
    NSArray * results = [moc executeFetchRequest:request error:&error];
    if (!results) {
        NSLog(@"Error fetching Employee objects: %@\n%@", [error localizedDescription], [error userInfo]);
        abort();
    }
    return results;
}
-(NSManagedObject*)newObject
{
    NSManagedObject *newObject = [NSEntityDescription
                                           insertNewObjectForEntityForName:@"Root"
                                           inManagedObjectContext:_mangedObjectContext];
    NSError *error;
    if (![_mangedObjectContext save:&error])
    {
        NSLog(@"%@ \n", error);
    }

    return newObject;
}
 
  • Gefällt mir
Reaktionen: Impcaligula
Zurück
Oben Unten