objective-c - 一次性从多个 NSArray 记录填充 NSTableView

标签 objective-c cocoa nstableview

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

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

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

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

这可以吗? 谢谢!

最佳答案

您需要指定一个对象作为 TableView 的数据源,并让该对象符合 NSTableViewDataSource 协议(protocol),或者您需要使用 NSArrayController 和 Cocoa 绑定(bind)。

如果您使用数据源,请实现 numberOfItemsInTableView: 方法并返回数组的count。您还必须实现 -tableView:objectValueForTableColumn:row::

-(id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
    if(rowIndex > -1)
    {
        return [yourArray objectAtIndex:rowIndex];
    }
    return nil;
}

关于objective-c - 一次性从多个 NSArray 记录填充 NSTableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10187355/

相关文章:

cocoa - 如何在 NSOutlineView 中禁用取消选择行

objective-c - 创建将穿过主视图的标签或 UIView

objective-c - 是否可以确定 GHUnit 测试方法的执行顺序?

objective-c - ipad/iphone 应用程序推荐哪种声音格式?

iphone - 在 Interface Builder 中连接时出现奇怪的错误

iphone - 那里有适用于 iOS 的 unrar 库吗?

objective-c - 在 Objective-c 中从 exif 获取相机和镜头

swift - 无法将类型 'NSTableCellView' 的值转换为 'NSTableViewTest'

objective-c - 从 Core Data 中删除选定的 NSTableView 行?

ios - 删除 Facebook sdk 出错