程序使用的是 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 更新界面的方法] }