美文网首页程序员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