0

如果我有一对多的关系,我将如何使用在 NSArray 中找到的此类数据填充 NSTableView?

假设我有一个名为“Alphabet”的数据项,我希望当用户从列表中选择它时,返回值:

-(id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex

是不同行中的字母,一个在另一个之下。

可以这样做吗?谢谢!

4

1 回答 1

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;
}
于 2012-04-17T08:43:43.527 回答