Swift编程中用以管理内存的自动引用计数详解

2020-01-08 22:36:10王振洲
易采站长站为您分析Swift编程中用以管理内存的自动引用计数详解,是Swift入门学习中的基础知识,需要的朋友可以参考下  

Swift 内存管理功能是通过使用自动引用计数(ARC)来处理。ARC用于初始化和取消初始化所述系统资源,从而释放使用的类实例的存储器空间当实例不再需要。ARC跟踪代码的实例有效地管理存储资源之间的关系的信息。

ARC的功能

  • 在每一次一个新的类实例被创建时ARC分配一块内存以存储信息 init()
  • 关于实例类型和其值的信息存储在存储器中
  • 当类实例不再需要它自动由 deinit() 释放,用于进一步类实例的存储和检索的存储空间
  • ARC保存在磁道当前参照类实例的属性,常量和变量,使得 deinit() 仅适用于那些不使用的实例。
  • ARC维护“强引用”这些类实例属性,常量和变量来限制释放当当前的类实例正在使用。

    ARC 程序

    复制代码
    class StudDetails {
        var stname: String!
        var mark: Int!
        init(stname: String, mark: Int) {
            self.stname = stname
            self.mark = mark
        }
        
        deinit {
            println("Deinitialized (self.stname)")
            println("Deinitialized (self.mark)")
        }
    }

     

    let stname = "swift"
    let mark = 98

    println(stname)
    println(mark)


    当我们使用 playground 运行上面的程序,得到以下结果。

     

    
    swift
    98
    

    ARC 强参考周期类实例

    复制代码