Ich arbeite an der Portierung einiger alter Codes (10.2-Ära) von der NSCoding/Plist-basierten Archivierung zur Verwendung von Core Data. Ich habe eine NSOutlineView mit einer benutzerdefinierten NSTextFieldCell. Die Gliederungsansicht ist an einen NSTreeController gebunden, um die Daten bereitzustellen.Gebundenes Wörterbuch basierend auf NSTextFieldCells bearbeitetem Wert aktualisieren
Die Bindungen Modell sieht wie folgt aus:
NSTreeController: Managed Object Context -> Controller.managedObjectContext
NSOutlineView der NSTableColumn Value -> Baum Controller: arrangedObjects: itemDictionary
Die NSOutlineView hat ein Benutzerdefinierte NSTextFieldCell-Unterklasse, die ein Bild neben dem Textfeld hinzufügt, also übergebe ich die NSManagedObject-Werte als NSMutableDictionary namens itemDictionary, damit ich den Titel und den isChecked-Schlüssel va ziehen und setzen kann Lues.
Wo ich auf Probleme stoße, wird der Wert des Textfelds aktualisiert und der geänderte Wert an die Instanz meines verwalteten Objekts zurückgegeben. Nachdem der Benutzer auf den Titelwert doppelklickt und ihn bearbeitet, wird er an -(id)objectValue
übergeben, aber ich bin mir nicht sicher, was als nächster Schritt das Update an meine NSManagedObject-Instanz weitergeben soll. Der Code, den ich habe bisher für das Lesen und Werte in meiner NSTextFieldCell Unterklasse Einstellung unter:
- (void)setStringValue:(NSString *)aString {
[super setObjectValue:aString];
}
- (void)setObjectValue:(id <NSCopying>)anObject {
id cellValues = anObject;
[super setObjectValue:[cellValues valueForKey:@"title"]];
[self setCheckState:[[cellValues valueForKey:@"isChecked"] integerValue]];
}
- (id)objectValue {
return [super objectValue];
}
Der Code ist in Ihrer NSTextField-Unterklasse? –
Ja, das ist das Fleisch der Unterklasse NSTextFieldCell. –