Swift笔记<十三>自动引用计数

Automatic Reference Counting,自动引用计数。是苹果公司的Objective-C程序的一种自动内存管理机制,区别于MRC(Manual Reference Counting)。

在Objective-C编程中,当对象的引用计数为0时,该对象释放,否则不释放,运用ARC可以使编程人员基本不用考虑对象何时释放的问题,编译器会在合适的时间自动将其引用计数为零。
<以上摘自百度百科>

class Person{
   
    var dog:Dog?
    deinit {
        print("人挂了")
    }

    
}

class Dog{
    var  master :Person?
    deinit {
        print("狗挂了")
    }
    
}
//var p:Person? = Person()
//var p2 = p
//p = nil
//p2 = nil
//
//var d:Dog? = Dog()
//d = nil


var p:Person? = Person()
var d:Dog? = Dog()
p?.dog = d
d?.master = p

p = nil
d = nil
//循环引用p,d 均不能被释放, 要想解除循环引用可将dog 或master用弱指针修饰

//class Dog{
//    weak var  master :Person?
//    deinit {
//        print("狗挂了")
//    }
//    
//}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容