在我的應用程序中,UITableview中的每個單元都需要從API中獲取數據。爲了使應用程序看起來更快,我一次獲取一個單元格的數據並使用[tableview reloadData]
進行顯示。但是在做這件事時,ViewController本身沒有響應。我不能點擊後退按鈕或點擊一個單元格(致電didSelectRowAtIndexPath
)。有沒有解決方案? 我打電話的reloadData
方法這樣正在執行[tableview reloadData]時交互不起作用
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);
dispatch_async(queue, ^{
[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
});
嘗試'dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(的int64_t)(1 * NSEC_PER_SEC)),dispatch_get_main_queue(),^ { [的tableView reloadData];} );' – iphonic
這幾乎工作。現在我可以得到後退按鈕來回應。但一旦它達到前一個視圖控制器,應用程序崩潰。你能想到可能發生的任何原因嗎? –
我想看看那個崩潰日誌,它可能是由別的東西引起的,而不是你正在想的。 – iphonic