本文主要介绍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?
在分析类时(参考这篇文章Swift-进阶 02:类、对象、属性)有这么一个类HeapObject
,下面继续通过这个类来分析t的引用计数
HeapObject -> InlineRefCounts
struct HeapObject { HeapMetadata const *metadata; SWIFT_HEAPOBJECT_NON_OBJC_MEMBERS; ... }