由于需要封装一个数据的的单例,所以在网上搜索了创建单例的方法。具体的单例是什么?以及单例优缺点,在这里作为菜鸟的我就不多做解释了,其他大神解释的很详细,之所以写这篇文章就是作为自学swift的笔记,如有错误之处,还望大家海涵以及指正,感激不尽。
第一种方法
class Singleton: NSObject {
static let singleton = Singleton()
private override init() {
}
}
第二种方法
private let singleton = Singleton()
class Singleton: NSObject {
class var sharedSingle: Singleton {
return singleton
}
fileprivate override init() {
}
}
第三种方法
class Singleton: NSObject {
class var sharedSingle: Singleton {
struct Static {
static let singleton = Singleton()
}
return Static.singleton
}
private override init() {
}
}
将init方法私有化是为了防止在外部进行对象创建,保证单例的唯一性。如果需要详细了解,请点击下方参考地址。
参考网址:
1.swift3.0单例模式
2.swift中编写单例的正确模式