ARC下,关于block里面使用self、weakSelf、strongSelf,理解一直没有特别的透彻,今天花时间研究了一下,总结如下: 其实一共就涉及到两个问题: 1.是否循环引用了 2.block里面的代码,不一定执行到哪行时,VC可能就释放 ...
block会copy要在block中使用的实变量,而copy会是变量的retainCount ,如若在不注意很容易造成循环引用。而所谓的循环引用的本质就是,两个对象相互引用,从而造成对象不能正常的dealloc。所以解决的办法就是让引用的一方是weak的,这样就使得相互引用的闭环被打破,能够正常的dealloc了。 weakSelf的使用: Apple官方的建议是,传进Block之前,把 self ...
2018-01-04 15:45 0 1262 推荐指数:
ARC下,关于block里面使用self、weakSelf、strongSelf,理解一直没有特别的透彻,今天花时间研究了一下,总结如下: 其实一共就涉及到两个问题: 1.是否循环引用了 2.block里面的代码,不一定执行到哪行时,VC可能就释放 ...
场景:当你在某个界面请求网络数据的时候,用户不愿意等待点击了返回按钮,此时在Block当中用如下的方式使用weakSelf的话,有可能会奔溃(因为在并发编程的情况下,虽然在if判断的时候weakself不为空,但是不保证if语句里面的weakself不为空),所以为了安全 ...
首先要说说什么时候使用weakSelf和strongSelf。 下面引用一篇博客《到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf》的内容: Objective C 的 Block 是一个很实用的语法,特别是与GCD结合使用,可以很方便地实现并发、异步任务 ...
转载,原文: http://blog.lessfun.com/blog/2014/11/22/when-should-use-weakself-and-strongself-in-objc-block/ 当然有一个更详细的专题: http://tanqisen.github.io ...
1、php的利益 (1)即写即用 也便是说每次只需一改动结束,用户立马看到效果,而java则慢多了,代码改动结束后,要从头编译,然后重启jvm,中心消耗的时刻可是不少啊,并且重启jvm进程可是会 ...
问题1:什么是HttpHandler? 问题2:什么是HttpModule? 问题3:什么时候应该使用HttpHandler什么时候使用HttpModule? 答案1:HttpH ...
上拉电阻和下拉电阻二者共同的作用是:避免电压的“悬浮”,造成电路的不稳定。 一、上拉电阻如图所示: 1、概念:将一个不确定的信号,通过一个电阻与电源VCC相连,固定在高电平; 2、上拉是 ...
转载:http://www.cnblogs.com/qixuejia/p/4390086.html 本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。 由于不同的项目和开发人 ...