lam*_*ade 3 cocoa objective-c-2.0
我知道表源需要一个数据源来保存tableview将显示的数据.让我们说我要让我的AppController成为我的tableview的数据源,并在界面构建器中建立连接.我的问题是,因为我的实际数据将存储在一个数组中,让我们称之为myArray,当我在代码中设置数据源时,我应该这样做
[tableView setDataSource:myArray]; or this [tableView setDataSource:self];
Run Code Online (Sandbox Code Playgroud)
我对此感到困惑.如果我没有弄错的话,使用关键字"self"设置数据源会将其设置为AppController.
表视图数据源必须符合NSTableViewDataSource协议(NSTableDataSource在10.6之前调用).
NSArray 不符合此协议,因此您不能将其用作数据源.
您需要在AppController对象中实现所需的协议方法,并将对象指定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];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5004 次 |
| 最近记录: |