swift3 中的单例与对象的内存地址

前言:

前段时间一直忙着项目,空余时间研究swift,也没有时间去分享一些东西,实属惭愧。但是程序员的分享精神不能终止啊,以后会隔三差五分享一些好东西!

一、swift 中单例的正确书写方式

1、最简式单例

final class Singleton {
    static let share = SingleTon()
    private init(){
        //additional operation
    }
}
let singleton = Singleton.share

2、利用闭包在初始化实例时配置一些东西

class Singleton {
    static let sharedInstance: Singleton = {
        let instance = Singleton()
        // setup code
        return instance
    }()
}

二、swift3 获取对象的内存地址

let sing = Singleton.sharedInstance
print("address : \(Unmanaged.passUnretained(sing).toOpaque())")

对于不懂Unmanaged是啥的同学们,请自行查阅官方文档。

你可能感兴趣的:(swift3 中的单例与对象的内存地址)