私は Cocoa を初めて使用し、Xcode 4.5 で通常の Cocoa デスクトップ アプリケーションを 1 つ開発しています。に値を表示する必要があり、NSComboBox
から取得する必要がありますが、 へのNSComboBox
バインディングを行うべきではないという制限がありますIBOutlet
。
配列コントローラーを使用する必要がある場合は、s を使用できますNSArrayController
が、s とは併用できませんIBOutlet
。
sを使用せずにこのタスクを実行する方法を教えてくださいIBOutlet
。
IBOutlet
次の理由により、 sを使用したくありません。
コードを削減します: UI に 15 個のテキスト フィールドがあると仮定すると、15 個
IBOutlet
の が必要になります (小さなプロジェクトで作業している場合はそれを使用できますが、より大きなサイズのプロジェクトを実装すると、大量の が作成される可能性がありますIBOutlet
。テキスト フィールドからの値へのアクセスを支援する以外には何もしません。ではなくバインディングを使用すると
IBOutlet
、UI の処理が簡単になります。たとえば、arrayController がリンクされたテーブルが 1 つあるとします。配列コントローラーでリンクした配列を変更すると自動的にtableViewに変更が反映されるので、わざわざtableViewを更新する必要はありませんIBOutlet
. tableView に表示するデータが変更されるたびに。開発者の負担を軽減: バインディングを使用すると、バインディング オブジェクトで発生した変更がすぐに UI に反映されるため、UI の更新について心配する必要がありません。
わかりやすいコード:
IBOutlet
s を不必要に使用すると、ビューを処理するコードを記述したり、ビューを更新したりすることになります。バインディングを使用すると自動的に更新されます。
私によると。バインディングを使用する場合の良い習慣。
IBOutlet
s 単純にコードの長さを増やします。
前もって感謝します...