美文网首页程序员iOS学习笔记
Swift笔记<十三>自动引用计数

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

作者: 大基本功 | 来源:发表于2018-02-12 08:53 被阅读38次

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("狗挂了")
//    }
//    
//}

相关文章

网友评论

    本文标题:Swift笔记<十三>自动引用计数

    本文链接:https://www.haomeiwen.com/subject/zakvwxtx.html