问题1:UIView不会被释放--block中如果有self的话会造成循环引用

程序使用的是 UINavigationController 。

使用tableView来显示对应的城市,在下载离线地图的时候,通过高德地图的一个api来下载,下载过程中,使用异步线程进行ui界面更新。这个

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

在下载过程中,如果返回到上一个界面。离线下载界面一直不会dealloc。

最后找到原因,是在下载的block中用到了self。

解决办法:

__weak OfflineViewController *weakSelf = self;

 dispatch_async(dispatch_get_main_queue(), ^{
     [weakSelf 更新界面的方法] 
 }


你可能感兴趣的:(问题1:UIView不会被释放--block中如果有self的话会造成循环引用)