文档章节

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

抢地主
 抢地主
发布于 2016/05/08 17:37
字数 162
阅读 26
收藏 1

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


© 著作权归作者所有

抢地主
粉丝 5
博文 131
码字总数 24524
作品 0
朝阳
私信 提问
iOS __block,__weak,__strong 的理解

block 在 block 里面可以访问局部变量,但是不能修改局部变量,这是因为当局部变量在 block 中使用时,实际上是使用的变量在 block 中复制的数据,所以在 block 中修改的变量并不能修改 bloc...

旅途开发者
2017/12/29
0
0
一些iOS面试点和文章记录

几个概念点分析的比较好的文章 黑幕背后的Autorelease Runloop runtime SDWebImage实现分析 内存恶鬼drawRect 找不到好用的三方库?看这里 续更中... 整理的部分iOS 面试题 什么时候在 bloc...

PetitBread
2017/07/24
0
0
iOS中Block循环引用的问题

说到循环引用问题,想必大家都碰到过吧,比如在使用Block的时候,使用weakSelf来代替self解决等,但是对于这个,还是有不少可以探索的点,下面我就来说下,希望对大家有所帮助。 是否所有的B...

独处守心
2018/09/29
0
0
在block中使用self怎么避免循环引用

内存问题始终是软件开发中的头等大事,iOS开发中也不例外,在面试中也是必问的问题。今天我们主要来讲讲Block中涉及的循环引用问题。当我们自己一开始写代码的时候,可能会大量在block中使用...

小王爷还小
2016/12/22
27
0
如何优雅的处理循环引用(retain cycle)

什么是循环引用? 顾名思义, 就是几个对象某种方式互相引用, 形成了"环"。由于 Objective-C 内存管理使用引用计数的架构, 而并不是 GC(garbage collector), 而在 ARC(自动引用计数) 下所有 OC...

__block
2018/06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
5
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
15
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部