Wenn ich ein neues Objekt in einen Core Data Managed-Objektkontext einfüge und kurz danach versuche, dieses neue Objekt im NSArrayController zu finden (das mit dem ManagedObjectContext durch Binding verbunden ist)), Ich kann es nicht finden. Ich mache die Erstellung und Suche in einer Methode.Neues Core Data-Objekt wird nicht in NSArrayController angezeigt. ArrangedObjects
Meine Frage jetzt. Wie lange dauert es, bis ein neues eingefügtes Objekt im Array arrangedObject von NSArrayControllers angezeigt wird?
Update: Hier ist der Code für das Einfügen und Abrufen der neuen Objekte
NSEntityDescription *entity = [[[self managedObjectModel] entitiesByName] objectForKey:@"EntityName"];
NSManagedObject *object = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:[self managedObjectContext]];
...
[[self managedObjectContext] processPendingChanges];
[arrayController fetch:nil];
NSArray* objects = [arrayController arrangedObjects]; //the new object is not present in the array
Ich hatte ein ähnliches Problem, da ich die Anforderung zum Aufruf von -fetch: auf dem NSArrayController verpasst hatte.Ich bemerke, dass -setSelectedObjects: scheint dies als Nebeneffekt zu tun, aber für Gürtel und geschweifte Klammern habe ich gewählt, beide Methoden an den Controller zu senden. Letzteres ist nützlich, damit Bindungen in einem Editorblatt für die fraglichen verwalteten Objekte funktionieren würden, egal ob ein neues Objekt hinzugefügt wurde oder ein altes Objekt bearbeitet wurde, obwohl es sich anfühlt, als wäre es ein bisschen ein Hack und ein besserer Ansatz kann existieren. –
Wie kann "setSelectedObjects" helfen oder funktionieren, wenn das Objekt noch nicht im Array ArrayController ist? –