2016-04-27 3 views
0

NSTextFieldsのコードからバインディングを設定しようとしています。私は、フィールドのバインディングのkeyPath部分に何を置くのか分かりません。コードからNSTextFieldをNSDictionaryControllerキーにバインドします(ストーリーボードではありません)

let dictCtrl = NSDictionaryController(content: myDictionary) 

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

私は基本的に辞書にありますすべてのキーを取り、それのためにNSTestFieldを作成し、そのキーのための辞書の値にそのフィールドの値をバインドします。

答えて

0

NSDictionaryControllerは、辞書の内容を、NSTableViewの列などのユーザーインターフェイス項目にバインドできるキーと値のペアの配列に変換します。

辞書コントローラの内容と配列オブジェクトは、キー値のペアの配列です。テーブルビューを作成し、セルまたは列をキーパス@"key"および@"value"でバインドします。

テキストフィールドを使用する場合は、NSObjectControllerを使用します。バインディングのキーパスはキーです。