微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS开发-Swift进阶之内存管理 & Runtime!

本文主要介绍swift中的内存管理,涉及引用计数、弱引用、强引用、循环引用、Runtime等

iOS开发-Swift进阶之内存管理 & Runtime!


内存管理 - 强引用

在swift中也是使用ARC来追踪和管理内存的,下面我们通过一个案例来进行分析

class CJLTeacher {
    var age: Int = 18
    var name: String = "CJL"
}
var t = CJLTeacher()
var t1 = t
var t2 = t
  • 查看t的内存情况,为什么其中的refCounts是0x0000000600000003?

    iOS开发-Swift进阶之内存管理 & Runtime!

在分析类时(参考这篇文章Swift-进阶 02:类、对象、属性)有这么一个HeapObject,下面继续通过这个类来分析t的引用计数

  • 分析源码 HeapObject -> InlineRefCounts

struct HeapObject {
  HeapMetadata const *Metadata;

  SWIFT_HEAPOBJECT_NON_OBJC_MEMBERS;
  ...
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐