2016-04-27 9 views
0

Ich versuche, meine Bindungen aus Code für NSTextFields einzurichten. Ich kann nicht herausfinden, was ich für den KeyPath-Teil der Bindungen des Feldes mache.Bind NSTextField zu NSDictionaryController-Schlüssel aus Code (nicht Storyboard)

let dictCtrl = NSDictionaryController(content: myDictionary) 

for key in myDictionary.keys { 
    let field = NSTextField() 
    field.bind(NSValueBinding, toObject: dictCtrl, withKeyPath: ???, options: nil) 
} 

Ich möchte im Grunde alle Schlüssel nehmen, die im Wörterbuch ist und eine NSTestField für sie zu schaffen, und dann binden Sie den Wert dieses Feldes auf den Wert des Wörterbuch für diesen Schlüssel.

Antwort

0

NSDictionaryController wandelt den Inhalt eines Wörterverzeichnisses in ein Array von Schlüssel/Wert-Paaren um, die an Benutzeroberflächenelemente wie die Spalten eines NSTableView gebunden werden können.

Der Inhalt und die angeordneten Objekte des Wörterbuch-Controllers sind Arrays von Schlüsselwertpaaren. Erstellen Sie eine Tabellenansicht und binden Sie die Zellen oder Spalten mit den Schlüsselpfaden @"key" und @"value".

Wenn Sie Textfelder verwenden möchten, verwenden Sie einen NSObjectController. Die Schlüsselpfade der Bindungen sind die Schlüssel.