iOS 引用循环 retain circle

当在类中声明属性时使用如下方法时:

@interface ExampleClass() {

NSInteger _index

}

如果在接下来某个 block 里调用了 _index 会造成 引用循环,致使 vc 不执行 dealloc 方法;

修改方法 1:直接使用 property 声明属性,

@property (nonatomic, assign) NSInteger index;

总结:

1、在 pop vc 后,在 dealloc 方法内打断点,可以方便的额观察 vc 是否被释放,个人觉得这是一个比较好的编程习惯,如果是对内存管理不是很熟悉的话。

2、发现问题的方法是:在 build setting 里对 IMPLICIT_RETAIN_SELF 设置成 YES,这样会出现在 warn 导航栏下,方便找到可能出现问题的地方。


iOS 引用循环 retain circle_第1张图片


你可能感兴趣的:(iOS 引用循环 retain circle)