1
我想使所有讀取/寫入數據庫操作都能夠到後臺隊列並在完成時更新當前UI視圖。用戶在執行dispatch_get_main_queue()之前留下當前視圖
如果用戶在處理數據庫時停留在視圖中,則沒有問題。但是,如果用戶在數據庫操作完成之前離開該視圖,則會崩潰。所述僞代碼如下:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
/* save data to database, needs some time */
dispatch_async(dispatch_get_main_queue(), ^{
// back to main queue, update UI if possible
// here may cause crash
[self.indicator stopAnimating];
[self.imageView ...];
});
});
什麼是崩潰? –
整個屏幕凍結,但指示器微調器保持旋轉。 – benck
這不是一個崩潰。你提到了崩潰。 –