Swift - 自动引用计数

作者: Jackie_大冰狗 | 来源:发表于2016-04-26 20:56 被阅读22次

自动引用计数

工作机制

  • Swift和OC一样,采用自动引用计数来管理内容
    • 当有一个强引用指向某一个动向时,该对象的引用计数会自动+1
    • 当该强引用消失时,引用计数会自动-1
    • 当引用计数为0时,该对象会被销毁

循环引用

  • 在通常情况下,ARC是会自动帮我们管理内存的
  • 但是在开发中我们经常会出现循环引用的问题,比如下面的示例
    • Student对Book对象有一个强引用
    • 而Book对Student有一个强引用
    • 在两个对象都指向nil时,依然不会被销毁,就形成了循环引用
// 1.创建类
class Student {
    var book : Book?

    deinit {
        print("Student -- deinit")
    }
}

class Book {
    var owner : Student?

    deinit {
        print("Book -- deinit")
    }
}

// 2.创建对象
var stu : Student? = Student()
var book: Book? = Book()

// 3.相互引用
stu?.book = book!
book?.owner = stu

// 4.对象置nil
stu = nil
book = nil

相关文章

  • 【官方文档翻译】Swift4.0.3 ☞ Automatic R

    原文链接 自动引用计数(Automatic Reference Counting) Swift 使用 自动引用计数...

  • Swift自动引用计数

    自动引用计数(Automatic Reference Counting) Swift 使用自动引用计数(ARC)机...

  • Swift:基础(二十七)自动引用计数

    Swift 自动引用计数(ARC) Swift 使用自动引用计数(ARC)这一机制来跟踪和管理应用程序的内存 通常...

  • 引用计数

    自动引用计数 Swift 使用自动引用计数(ARC)机制来跟踪和管理你的应用程序的内存 自动引用计数的工作机制 每...

  • Swift语法(五)

    一.自动引用计数 1.自动引用计数工作机制 1.1 swift和oc一样,采用自动引用计数来管理内存 1.2 当有...

  • Swift : 内存泄露原因及解决办法

    Swift 自动引用计数(ARC) 在Swift中 使用自动引用计数(ARC)这一机制来跟踪和管理应用程序的内存 ...

  • Swift3.0-自动引用计数

    自动引用计数 Swift 使用自动引用计数(ARC)机制来跟踪和管理你的应用程序的内存。通常情况下,Swift 内...

  • Swift - 自动引用计数

    自动引用计数 Swift 使用自动引用计数(ARC)机制来跟踪和管理你的应用程序的内存。通常情况下,Swift 内...

  • Swift基础10

    自动引用计数 swift使用自动引用计数(ARC)机制来跟踪和管理你的应用程序的内存。通常情况下,Swift内存管...

  • 第十六章 自动引用计数

    swift用自动引用计数(ARC)机制来对引用类型进行内存管理,(包括类实例和闭包)。 自动引用计数会引入循环强引...

网友评论

    本文标题:Swift - 自动引用计数

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