NSTableView не обновляется, как мне кажется, должно - PullRequest
0 голосов
/ 28 февраля 2011

У меня есть следующий код:

- (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: вызывается при запуске, но не в любое другое время.Я хотел бы, чтобы мой Table (выход crazyStuff) обновлялся каждый раз, когда вызывается updateServerList.Как бы мне было трудно стрелять, чтобы увидеть, если это так или нет?Я не вижу в таблице данных, которые "должны" быть там

Ответы [ 2 ]

0 голосов
/ 28 февраля 2011

В пределах updateServerList вы должны [crazyStuff noteNumberOfRowsChanged]. Я думал, что reloadData заставляет таблицу повторно запросить dataSource для numberOfRowsInTableView:, хотя ...

0 голосов
/ 28 февраля 2011

Я так понимаю, что при запуске, когда вызывается numberOfRowsInTableView, он возвращает 0? Если нет, то вызывается ли tableView: objectValueForTableColumn: row: когда-либо тогда?

Моим первым предположением было бы, что "crazyStuff" фактически не связан ни с чем или связан с чем-то другим, кроме табличного представления, которое вы намереваетесь. Возможно, вы захотите записать значение crazyStuff в updateServerList.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...