Swift单例模式

2017-07-20  本文已影响96人  BYQiu

参考:http://swifter.tips/singleton/

OC写法

在 Objective-C 中单例的公认的写法类似下面这样:

@implementation MyManager
+ (id)sharedManager {
    static MyManager * staticInstance = nil;
    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{
        staticInstance = [[self alloc] init];
    });
    return staticInstance;
}
@end

使用 GCD 中的 dispatch_once_t 可以保证里面的代码只被调用一次,以此保证单例在线程上的安全。

swift写法

class MyManager  {
    static let sharedInstance = MyManager()
    private init() {}
}

上一篇 下一篇

猜你喜欢

热点阅读