2010-11-19 3 views
1

I ein Bearbeitungsfenster mit mehreren Feldern haben, alle gebunden an den ‚Inhalt‘ Controller Schlüssel eines NSObjectController, das seinerseits auf die ‚Auswahl‘ Controller gebunden Schlüssel eines NSArrayControllers. Ich habe auch eine NSTableView, gebunden an den gleichen NSArrayController, mit seiner Auswahl.Cocoa-Bindungen, Festschreibungen der Bearbeitung bis Benutzer klickt auf ‚OK‘ Verzögern

In meinem Bearbeitungsfenster, sobald der Benutzer ein Textfeld verlässt, wird der Wert zurück an die NSTableView propagiert. Wie kann ich den übergebenen Wert stoppen, bis der Benutzer im Bearbeitungsfenster auf "OK" klickt?

+0

Ich habe versucht, eine zu schaffen neuer ManagedObjectContext für das Bearbeitungsfenster, Änderungen werden jedoch sofort angezeigt, auch wenn [Context Save] aufgerufen wird. Ich weiß nicht, ob das ein guter Ansatz ist oder nicht. Ich bin immer noch auf die Auswahl des Haupt ManagedObjectContext verbindlich, kann dies macht dies nicht funktionieren, da ich beabsichtige. Ist es möglich, die Auswahl von einem Kontext zu einem anderen, vielleicht zu kopieren? –

Antwort

1

Sie ein temporäres NSMutableDictionary-Objekt verwenden, könnten die Werte im Bearbeitungsfenster zu speichern, und dann, wenn der Benutzer klickt auf ‚OK‘ ein Objekt instanziiert den Werte des Wörterbuch verwendet: das heißt:

NSManagedObject* obj = [NSEntityDescription insertNewObjectForEntityForName:@"MyObject"            
         inManagedObjectContext: self.managedObjectContext]; 

[obj setValuesForKeysWithDictionary:tempObject]; 
0

Ich würde vorschlagen, einen Übergangswert im Bearbeitungsfenster zu verwenden. Wenn der Benutzer dann auf "OK" klickt, wird der Wert zugewiesen.

+0

Meinen Sie ... Bindung an einen Wrapper für '[obj Wert]' 'wie [obj valueTransient]', dann in dem Verfahren, wenn der Benutzer auf OK klickt, gehen und tun ‚[obj setValue: [objValueTransient]]' ? Ich fühle mich, als würde ich etwas vermissen. –

+0

Entschuldigung, ich meinte nur ein komplett separates Objekt, bis der Benutzer OK drückt – griotspeak

Verwandte Themen