- 博客(3)
- 资源 (3)
- 收藏
- 关注
原创 weak引用在什么时候被置为nil
ARC里面都有讲weak引用会在对象被释放后weak引用被置为nil,那什么时候被置为nil 的呢?苹果也没有明确说明,程序员没有置为nil,那么肯定是苹果做了手脚。来看看下面两个例子:// case 1NSObject *strongOne = [[NSObject alloc] init];NSObject * __weak weakOne = strongOne;
2016-03-23 21:45:10 2706 1
转载 iOS容易造成循环引用的三种场景,就在你我身边!
ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引用,导致任何时候引用计数都不为0,始终无法释放。若当前对象是一个ViewController,则在dismiss或者pop之后其dealloc无法被调用,在频繁的push或者pres
2016-03-19 23:35:11 699
原创 self.x和_x区别
1.self.xxx 实际是包含了属性生成器的setter和getter方法。_x是获取自己的实例变量,不包含set和get的方法。2.所有被声明为属性的成员,再ios5之前需要使用编译指令@synthesize 来告诉编译器帮助生成属性的getter和setter方法,之后这个指令可以不用认为的指定了,默认情况下编译器会帮助我们生成,iOS5后使用属性直接使用self.x即可。self.x里
2016-03-18 22:50:43 3543
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人