Swift2 到 Swift 3 迁移的变化
Swift2 中创建单例 依旧是用线程 dispatch onece 创建 和 OC 中创建单例子相似,但是在Swift3中情况就完全不一样了。
Swift2升级到Swift3 之后 会发现没有 dispatch once 了 ,所有单例的创建方法也不一样了
如下:是Swift3 中的单例创建
class SessionManager: NSObject { // MARK:单例
static let sharedSessionManager: SessionManager = { SessionManager() }()
}
如果单例需要在init 方法里面 初始化一些变量则需要重写父类的 init 方法,如:
override init() {
super.init()
// 写你需要初始化的变量
}
这样就完成了单例的创建,以及单例 init 中 初始化一些变量
PS:有什么问题欢迎留言。