2016-01-18 3 views
1

У меня есть следующий класс Singleton:Использования Swift Singleton

class Singleton { 
    static let sharedInstance = Singleton() 
} 

я могу найти очень мало в Интернете о том, как использовать многочисленные быстрые реализации шаблона Singleton. Я использовал его раньше в Objective-C по предыдущему приложению, но для меня это выглядело гораздо более прямолинейно.

Например, если бы я хотел создать массив пользовательских объектов, которые можно было бы использовать в любом месте приложения, как бы объявить его и как его реализовать. В моем классе Objective-C Singleton, создать глобальные переменные в файле класса, а затем реализовать его следующим образом:

singletonClass *mySingleton = [singletonClass sharedsingletonClass]; 
mySingleton.whatever = "blaaaah" 

Я ценю помощь! Также я здесь новый и новый для Свифта.

ответ

3

Существует много информации о синглонах в Свифте. Вы сталкивались с этой статьей с помощью Google? http://krakendev.io/blog/the-right-way-to-write-a-singleton

Но для ответа на ваш вопрос вы можете просто определить все, что вы хотели бы использовать в обычном режиме.

class Singleton { 
    static let sharedInstance = Singleton() // this makes singletons easy in Swift 
    var stringArray = [String]() 

} 

let sharedSingleton = Singleton.sharedInstance 

sharedSingleton.stringArray.append("blaaaah") // ["blaaaah"] 

let anotherReferenceToSharedSingleton = Singleton.sharedInstance 

print(anotherReferenceToSharedSingleton.stringArray) // "["blaaaah"]\n" 
+0

Это на самом деле, где я получил свой код, однако статья является скорее анализом каждого метода, чем объяснением того, что происходит. Цените помощь. –

+0

Не проблема! В этом случае вы можете найти это сообщение полезным: https://github.com/hpique/SwiftSingleton –