iOS记录

swift 单例

2020-08-07  本文已影响0人  bianruifeng

1、最简单实现

class SwiftSingleton {
    class var shared: SwiftSingleton {
            return Inner.instance
    }

    struct Inner {
        static let instance: SwiftSingleton = SwiftSingleton()
    }
}

2、使用GCD技术实现的单例模式

class SwiftSingleton {
    class var shared: SwiftSingleton {
        dispatch_once(&Inner.token) {
            Inner.instance = SwiftSingleton()
        }
        return Inner.instance!
    }
    struct Inner {
        static var instance: SwiftSingleton?
        static var token: dispatch_once_t = 0
    }
    
}
上一篇下一篇

猜你喜欢

热点阅读