5
Впервые я узнал, как реализовать шаблон Singleton в Swift в этой книге Pro Design Patterns in Swift
.Singletons In Swift
Так я приступил к реализации Singleton Pattern в примере ниже:
class Singleton {
class var sharedInstance: Singleton {
struct Wrapper {
static let singleton = Singleton()
}
return Wrapper.singleton
}
private init() {
}
}
Но потом я нашел эту реализацию, читая о Cocoa Design Patterns
class Singleton {
static let sharedInstance = Singleton()
private init() {
}
}
Так что мой вопрос, в чем разница между двумя реализациями?
Вы найдете все это в http://stackoverflow.com/questions/24024549/using-a-dispatch-once-singleton-model-in-swift. Чтобы сделать его коротким: вторая реализация является рекомендуемой в настоящее время. Первая реализация связана с Swift <= 1.1, где свойства статического класса еще не поддерживались. –