我的tableView有一個奇怪的問題。 我通過JSON將數據加載到我的tableView中。雖然JSON是從另一個類的Web請求的,但我在當前視圖中顯示了活動指示器視圖,並且tableView被隱藏了。 我有一個委託方法,一旦json準備好就會調用它。重裝數據後UITableView不顯示
-(void)didReceivePlayers:(NSArray *)players {
[activityIndicator stopAnimating];
tableViewPlayers.hidden = false;
startButton.hidden = false;
playersData = [[NSMutableArray alloc] initWithArray:players];
[tableViewPlayers reloadData];
NSLog(@"done reloading");
}
該方法被稱爲完美。代碼非常簡單。我隱藏我的活動指示器並顯示我的tableView。 然後我調用reloadData。它只需要幾毫秒。但在reloadData之後,我的activityIndicator仍然顯示出來,並且需要幾秒鐘來顯示我的tableview,儘管nslog正在被立即調用。
我也試着在mainThread中調用reload數據,但是這並沒有改變一件事情。
感謝您的幫助!
這兩個UI更新,像'startButton.hidden = false'和'reloadData' *都必須在主線程上完成。 –
完美謝謝!我只在mainThread中嘗試了reloadData。但UI變化引起了怪異的行爲。謝謝! –