swift中的dispatch_once_t替代方案

dispatch_once_t alternative in swift

本问题已经有最佳答案,请猛点这里访问。

已经试过了:

"dispatch-once-t"在swift中不可用:请改用延迟初始化的全局变量

斯威夫特3号有一次在哪发车?

这是我的代码:enter image description here

1
2
3
4
5
6
7
8
9
10
11
12
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!

    }

请给我推荐一个替代方法,我不知道SWIFT,我编码C/C++/Obj.c,请给我SWIFT代码来解决上面的问题。


在swift-singleton中可以写为,

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

然后使用Model.sharedInstance。你不需要像目标C中那样发送一次。

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