問題1:UIView不會被釋放--block中若是有self的話會形成循環引用

程序使用的是 UINavigationController 。api

使用tableView來顯示對應的城市,在下載離線地圖的時候,經過高德地圖的一個api來下載,下載過程當中,使用異步線程進行ui界面更新。這個異步

 dispatch_async(dispatch_get_main_queue(), ^{
     更新UI界面。更新相應的cell信息。
 }

在下載過程當中,若是返回到上一個界面。離線下載界面一直不會dealloc。async

最後找到緣由,是在下載的block中用到了self。ui

解決辦法:spa

__weak OfflineViewController *weakSelf = self;

 dispatch_async(dispatch_get_main_queue(), ^{
     [weakSelf 更新界面的方法] 
 }
相關文章
相關標籤/搜索