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 导航栏下,方便找到可能出现问题的地方。



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 晚安,无需为填新词强说愁。 有些事情我倒是希望自己永远学不会,永远不必体会,永远学不会。 你值得被疼爱,所以好好睡...
    盖玉阅读 1,220评论 0 0
  • 今天母亲跟我分享了几张和同事出去玩的照片,清一色的姑娘小伙,母亲抱着同事的孩子站在一起,更像是带着被儿子儿媳带出来...
    高小千阅读 12,908评论 0 0
  • IPA资源包可通过iTunes、PP助手、iTools下载 大部分图片在assets.car中 下载cartool...
    Lucifer_rcy阅读 4,202评论 0 0

友情链接更多精彩内容