斯威夫特的单身人士

Sal*_*ksa 5 singleton design-patterns ios swift

我第一次学习如何在Swift中实现Singleton Pattern Pro Design Patterns in Swift.

我开始实现Singleton Pattern的方式如下所示:

class Singleton {

    class var sharedInstance: Singleton {
        struct Wrapper {
            static let singleton = Singleton()
        }
        return Wrapper.singleton
    }

    private init() {
    }

}
Run Code Online (Sandbox Code Playgroud)

但是在阅读Cocoa Design Patterns时我发现了这个实现

class Singleton {

    static let sharedInstance = Singleton()

    private init() { 
    }

}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,两种实现之间有什么区别?

Rud*_*vič 4

回到Swift 1天,static let尚未实现。解决方法是创建一个包装器struct。对于Swift 2来说,这不再需要了。