How to Implement Singleton class in Swift
本问题已经有最佳答案,请猛点这里访问。
我是Swift编程新手,请告诉我如何用代码在Swift中实现singleton类。
在Obj-C中,我知道
1 2 3 4 5 6 7 8 9 | + (id)sharedManager { static MediaModel *sharedMyManager = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedMyManager = [[self alloc] init]; }); return sharedMyManager; } |
它怎么用的很快
它在swift中非常简单:
1 2 3 | class YourClass { static let sharedInstance = YourClass() } |
并使用它:
1 | YourClass.sharedInstance |
斯威夫特比OBJ-C更聪明。你可以这样申报;
1 2 3 4 5 6 7 8 | final class MediaModel: NSObject { static let sharedMyManager = MediaModel() private override init() { super.init() } } |
然后叫它;
1 | let sharedManager = MediaModel.sharedMyManager |