gpt4 book ai didi

cocoa - 数据源和 NSTableView

转载 作者:行者123 更新时间:2023-12-03 16:17:15 24 4
gpt4 key购买 nike

我知道表源需要一个数据源来保存 TableView 将显示的数据。假设我要让我的 AppController 成为我的 TableView 的数据源,并且我在界面生成器中进行连接。我的问题是,由于我的实际数据将存储在一个数组中,我们称之为 myArray,当我在代码中设置数据源时我应该这样做

 [tableView setDataSource:myArray]; or this [tableView setDataSource:self];

我对此感到困惑。如果我没记错的话,使用关键字“self”设置数据源会将其设置为 AppController。

最佳答案

TableView 数据源必须符合NSTableViewDataSource协议(protocol)(在 10.6 之前称为 NSTableDataSource)。

NSArray 不符合此协议(protocol),因此不能将其用作数据源。

您需要在 AppController 对象中实现所需的协议(protocol)方法,并将 AppController 对象指定为表的数据源。

- (void)applicationDidFinishLaunching:(NSNotification*)notification
{
[tableView setDataSource:self];
}

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
{
return [myArray count];
}

- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
return [myArray objectAtIndex:rowIndex];
}

关于cocoa - 数据源和 NSTableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2687224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com