0

我创建了一个 class: MyArrayController,它是一个子类NSArrayController并将它绑定到一个表。

我需要将一个人对象传递给MyArrayController对象,例如使用方法:

-initWithPerson:(Person *)person; 

但是因为MyArrayController是自动创建的(因为我没有显式分配它,我认为它是由Cocoa自动创建的),我无法获取MyArrayController的对象或显式初始化它。

如何将人员对象设置为 MyArrayController?

4

1 回答 1

1

执行此操作的典型方法是不使用NSArrayController子类。从您的描述来看,您并没有试图改变NSArrayController您的行为,只是试图指定其内容。这样做的方法是NSArrayController在您的 nib 文件中放入一个并将其绑定到您的表格。将一个添加IBOutlet到您的NSWindowControllerNSViewController绑定到NSArrayController. NSArray使用要在表格中显示的内容创建并预填充。然后在您的awakeFromNiborwindowDidLoad方法中调用setContent:以将内容数组设置为NSArrayControllerNSArray创建的。大致如下:

    IBOutlet NSArrayController *myArrayController;

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