どのように私は、NSArrayControllerはコンテンツに付加されている項目に応じてアクションを実行するのですか?
-
19-09-2019 - |
質問
私は、その内容が私のAppDelegateの "NSArrayController
" プロパティですservers
を持っています。
私はNSTextField
の「selection.name
」プロパティにバインドされNSArrayController
を持っていると私はadd:
の「remove:
」と「NSArrayController
」アクションに添付ボタンがあります。
私が起こる見てみたいと思いますどのような、ユーザーがすぐにサーバーの名前を編集することができるように、私は、NSTextField
がファーストレスポンダになり、「追加」ボタンをクリックしたときです。
私の現在の戦略は、arrangedObjects
の「NSArrayController
」プロパティを観察することですが、私は戻ってNSKeyValueChangeKindKey
から得るすべてはNSKeyValueChangeSetting
列挙型です。私は私がファーストレスポンダになるためにテキストフィールドを求めることができるので、NSKeyValueChangeInsertion
値を取得することを期待していた。
私の質問は、私はこれについて正しい方法をつもりされたり、これを達成するために、より一般的な方法は何ですか?私はバインディングをフック罰金をやっている、私はちょうど割れに自分の行動を挿入する方法で苦労しています。
解決
テキストフィールドへの出口でNSArrayControllerはのサブクラスを作成します。 add:
メソッドをオーバーライドします。あなたの実装では、その後すぐに、super
テキストフィールドにファーストレスポンダを作るために窓を伝えるためにメッセージを送っています。