资阳市住房和城乡建设局网站,房地产网络营销论文,竞价托管收费标准,网站前台用什么做Objective-C使用GCD 中的dispatch_once_t 可以保证里面的代码只被调用一次#xff0c;以此保证单例在线程上的安全。
但是在Swift 中由于废弃了原有的Dispatch once方法#xff0c;因此无法使用once 进行单例的创建。
我们可以使用struct 存储类型变量#xff0c;并且使用…Objective-C使用GCD 中的dispatch_once_t 可以保证里面的代码只被调用一次以此保证单例在线程上的安全。
但是在Swift 中由于废弃了原有的Dispatch once方法因此无法使用once 进行单例的创建。
我们可以使用struct 存储类型变量并且使用let保证线程安全的方式
1方案1
class Manager {class var sharedManager: Manager {struct Static {static let sharedInstance: Manager Manager()}return Static.sharedInstance}
}
2方案2
class Manager {class var sharedManager: Manager {return sharedInstance}
}private let sharedInstance Manager()
3方案3
class Manager {static let sharedInstance Manager()
}