Ist es möglich, Cocoa Bindungen zu verwenden, um eine bearbeitbare NSTableView zu einem NSMutableArray angeschlossen haben?

StackOverflow https://stackoverflow.com/questions/820717

Frage

Es scheint, aus den Bits und Stücke kann ich zusammenkratzen, dass die Antwort auf diese ein „Nein“ wird, also werde ich im Großen und Ganzen erklären, was ich versuche Fall zu erreichen, in (der wahrscheinlich), dass ich versuche, in einer Schraube hämmern.

Was ich in meiner app habe, ist eine Liste der gültigen Dateierweiterungen in lesen, die ich durch ein Verzeichnis bin Rekursion. Ich möchte dies ein Vorzug sein, also habe ich die folgende bekommen:

NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setObject:[NSMutableArray arrayWithObjects:@"pdf", @"rtf", @"txt", nil] forKey:@"validExtensions"];
[[NSUserDefaults standardUserDefaults] registerDefaults:dic];

und ich bin Bindung die NSTableView zu einem NSArrayController die die Gemeinschafts-Benutzervorgaben Controller gebunden ist ...

Ist das völlig der falsche Ansatz eine benutzerdefinierbare Liste der gültigen Erweiterungen zu haben? Habe ich die Rolle des NSUserDefaults falsch verstanden?

War es hilfreich?

Lösung

Die Antwort auf die im Titel gestellten Frage „Ja“ ... aber leider, das hilft Ihnen nicht, weil die Veränderlichkeit der Datenstrukturen in den tatsächlichen NSUserDefaults Speicher Sicherung nicht durch die Veränderlichkeit der gesteuert wird Pass mit registerDefaults Objekten Sie:.

Für Präferenzwerte, die sich Strukturen sind, um sie Sie die alte Struktur lesen, ändern müssen, machen Sie eine änderbare Kopie, was auch immer Teil Sie brauchen, dass zu ändern, zu ändern, und dann diese Struktur als den neuen Wert eingestellt. das ist nicht gut geeignet, um Bindungen Leider, so dass Sie‘d eine Klebeschicht müssen die Änderungen in einem gebundenen Array in die Prefs widerspiegelt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top