1

アレイ コントローラをアレイにリンクする方法を見つけようとしています。アウトレットを介して、Interface Builder で作成された .xib ファイルのテキストフィールドやテーブルビューにさえ入力できることを知っています。

簡単なアウトレット (NSArray) を 1 つ用意して、それをアレイ コントローラーに入れることができるようになることを期待していました。次に、テーブルはそのコンテンツフィールドを配列内のものにリンクします。これは可能ですか、それとも非ココアを考えすぎているだけですか?

現在、Interface builder にオブジェクト参照があり、これは既にフィールドのペアといくつかのアクション ハンドラーをボタンに渡しています。Array Controller をアウトレット 'FilesArray' にリンクしようとすると、アウトレットではなく、オブジェクト自体にしかリンクできません。

私は初心者なので、なぜこれができないのかわかりませんか?

ありがとう!

4

2 に答える 2

2

これにはコンセントを使用しません。代わりに、逆の方法で、アレイコントローラーをオブジェクトのプロパティにバインドします。

  1. IBOutletキーワードを削除します。
  2. ヘッダーで、インスタンス変数をとして宣言しますNSMutableArray
  3. 実装では、で配列を作成し、initでリリースしdeallocます。
  4. ヘッダーで、配列のプロパティを宣言します。必ずcopy属性で宣言してください。
  5. 実装では、プロパティのアクセサーを合成します。
  6. IBで、アレイコントローラーのコンテンツアレイバインディングを設定します。配列プロパティを持つオブジェクトにバインドします。モデルキーパスを、Xcodeで作成したプロパティの名前に設定します。
  7. 実装では、常にアクセサを使用してプロパティを変更します(たとえば、オブジェクトを追加または削除します)。
于 2009-01-27T05:10:00.540 に答える
2

Interface builder インスペクタの [Bindings] ペインに移動し、必要な配列にバインドする必要がある NSArrayController の [Controller Content] の下に移動するだけです。次に、NSTableColumn を NSArray コントローラーにバインドするだけです。

NSArrayController の使用例については、バインディングありとバインディングなしを参照 してください。

また、CocoaDev は、NSArrayController の使用と、それを TableViews http://www.cocoadev.com/index.pl?NSArrayControllerで使用するためのより正確な指示を提供します。

于 2009-01-27T01:32:44.457 に答える