Singleton in Swift
Singleton in Swift
http://krakendev.io/blog/the-right-way-to-write-a-singleton
In Swift, you can simply use a static type property, which is guaranteed to be lazily initialized only once, even when accessed across multiple threads simultaneously:
If you need to perform additional setup beyond initialization, you can assign the result of the invocation of a closure to the global constant: