我创建了一个类:MyArrayController
,它是NSArrayController
的子类,并将其绑定到表中。
我需要将person对象传递给MyArrayController
对象,就像使用方法一样:
-initWithPerson:(Person *)person;
但是因为MyArrayController
是自动创建的(因为我没有显式地分配它,我认为它是由Cocoa自动创建的),我无法获取MyArrayController的对象或显式初始化它。
如何将人物对象设置为MyArrayController?
答案 0 :(得分:1)
执行此操作的典型方法是不使用NSArrayController
子类。根据您的描述,您不会尝试更改NSArrayController
的行为,而只是尝试指定其内容。执行此操作的方法是在您的nib文件中放置NSArrayController
并将其绑定到您的表。将IBOutlet
添加到与NSWindowController
绑定的NSViewController
或NSArrayController
。使用要在表格中显示的内容创建并预填充NSArray
。然后,在awakeFromNib
或windowDidLoad
方法中,您调用setContent:
将NSArrayController
的内容数组设置为您创建的NSArray
。大概喜欢:
IBOutlet NSArrayController *myArrayController;
NSArray *contentArray = [NSArray arrayWithObject:person];
[myArrayController setContent:contentArray];