swift中的dispatch_once_t替代方案

时间:2017-06-30 15:36:34

标签: swift

已经尝试过这些:

'dispatch_once_t' is unavailable in Swift: Use lazily initialized globals instead

Whither dispatch_once in Swift 3?

这是我的代码: enter image description here

class var sharedInstance:Model{
        struct Static{
            static var instance:Model?
            static var token: dispatch_once_t = 0
        }

        dispatch_once(&Static.token){
            Static.instance = Model()
        }
        return Static.instance!

    }

请建议我dispatch_once_t的替代方法..我不知道swift,我编码C / C ++ / Obj.C,请给我快速代码来修复上面的问题

1 个答案:

答案 0 :(得分:5)

在swift单身中可以写成,

class Model: NSObject {
    static let sharedInstance = Model()
}

然后使用Model.sharedInstance。你不需要像目标c那样派遣一次。

来源https://thatthinginswift.com/singletons/