如果我有一对多关系,我如何使用NSArray中的数据填充NSTableView?
假设我有一个名为“Alphabet”的数据项,我希望当用户从列表中选择它时,返回值为:
-(id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
是不同行中的字母,一个在另一行之下。
能做到吗? 谢谢!
答案 0 :(得分:2)
您需要将对象指定为表视图的datasource
并使该对象符合NSTableViewDataSource
协议,或者您需要使用NSArrayController
和Cocoa绑定。
如果您使用数据源,请实施numberOfItemsInTableView:
方法并返回数组的count
。您还必须实施-tableView:objectValueForTableColumn:row:
:
-(id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
if(rowIndex > -1)
{
return [yourArray objectAtIndex:rowIndex];
}
return nil;
}