Swift-单例
2020-12-15 本文已影响0人
小猪蛋蛋
///创建单例的步骤:
///1、先创建一个私有静态常量并分配值
///2、在静态方法中对其进行返回
///3、使用:使用者调用sharedInstance()方法时,就会将staticInstance实例进行返回
///注意:需要将该类的构造方法 即 init() 声明成私有方法,防止外部通过构造器来直接生成实
class SingletonTest {
private static let staticInstance = SingletonTest()
static func sharedInstance() -> SingletonTest{
return staticInstance
}
private init(){}
}
调用打印对象地址查看是否相同
let test1 = SingletonTest.sharedInstance()
let test2 = SingletonTest.sharedInstance()
print(Unmanaged.passUnretained(test1).toOpaque())
print(Unmanaged.passUnretained(test2).toOpaque())
//0x0000600001a28500
//0x0000600001a28500