0

MyArrayControllerのサブクラスであるclass: を作成しNSArrayController、それをテーブルにバインドします。

MyArrayControllerメソッドを使用するように、人物オブジェクトをオブジェクトに渡す必要があります。

-initWithPerson:(Person *)person; 

しかし、MyArrayController自動的に作成されるため (明示的に割り当てていないため、Cocoa によって自動的に作成されると思います)、MyArrayController のオブジェクトを取得したり、明示的に初期化したりすることはできません。

個人オブジェクトを MyArrayController に設定するにはどうすればよいですか?

4

1 に答える 1

1

NSArrayControllerこれを行う典型的な方法は、サブクラスを使用しないことです。あなたの説明から、あなたの行動を変えようとしているのではなくNSArrayController、その内容を指定しようとしているだけです。NSArrayControllerこれを行う方法は、nib ファイルにを入れて、それをテーブルにバインドすることです。にバインドされているorに を追加IBOutletします。を作成し、テーブルに表示するコンテンツを事前入力します。次に、orメソッドで呼び出して、作成した のコンテンツ配列を設定します。おおよそのように:NSWindowControllerNSViewControllerNSArrayControllerNSArrayawakeFromNibwindowDidLoadsetContent:NSArrayControllerNSArray

    IBOutlet NSArrayController *myArrayController;

    NSArray *contentArray = [NSArray arrayWithObject:person];
    [myArrayController setContent:contentArray];
于 2012-07-17T18:41:38.550 に答える