NSTableView没有像我认为的那样更新

时间:2011-02-28 00:51:41

标签: objective-c nstableview

我有以下代码:

- (void)updateServerList {

    [crazyStuff reloadData];
    NSLog(@"Hi");

}

- (int)numberOfRowsInTableView:(NSTableView *)tableView
{
    NSLog(@"Numbers have Changed");
    return [serverBrowser.servers count];

}

- (id)tableView:(NSTableView *)tableView
                objectValueForTableColumn:(NSTableColumn *)tableColumn
                row:(int)row
{
    NSLog(@"Starting updates for table");
    NSNetService* server = [serverBrowser.servers objectAtIndex:row];
    return [server name];

}

- (IBAction)tableViewSelected:(id)sender
{
    //row = [sender selectedRow];
    NSLog(@"the user just clicked on row ");
}

这是我正在尝试扩展的聊天程序的一部分。它是专为iOS设计的,我正在努力让它在我的笔记本电脑上工作并与我的iPad聊天。我知道从我的日志语句中正确调用了updateServerList。我现在也在启动时调用numberOfRowsInTableView:但不是其他任何时候。我想在每次调用updateServerList时更新我的​​表(插座crazyStuff)。我怎么会麻烦拍摄,看它是不是?我没有看到表中显示的数据“应该”在那里

2 个答案:

答案 0 :(得分:0)

我接受它然后在启动时,当调用numberOfRowsInTableView时,它返回0?如果没有,是tableView:objectValueForTableColumn:row:曾经调用过吗?

我的第一个猜测是“crazyStuff”实际上并没有连接到任何东西或连接到你想要的表视图以外的东西。可能想在updateServerList中记录crazyStuff的值。

答案 1 :(得分:0)

updateServerList [crazyStuff noteNumberOfRowsChanged]内你应该reloadData。我认为dataSource会导致表格numberOfRowsInTableView:重新询问{{1}},但是...... {/ p>