0
我在一段時間內沒有發現自己使用單例,因爲我從靜態類中獲得了所有的功能。我應該注意到兩者之間有什麼區別?在Swift中,Singleton和一個類的靜態版本有什麼區別?
的Singleton實施例:
class SomeManager {
static let sharedInstance = SomeManager()
var user: User!
init(user: User) {
self.user = user
}
}
隨着用法:
SomeManager.sharedInstance.user
靜態類實例:
class SomeManager {
static var user: User!
init(user: User) {
SomeManager.user = user
}
}
隨着用法:
SomeManager.user
我知道顯而易見的區別是,一個是整個類被製作爲靜態,另一個是聲明特定部分(希望來自單個實例)靜態。是否有任何理由相互使用一個。
我有一個設置爲我的網絡現在,我有一個單一類的網絡調用,通過一堆靜態方法在一個什麼都不做,但包含網絡單體及其靜態方法的類中訪問。我認爲這對我的方案有適當的範圍,但沒有做足夠的研究來保證方法的質量。
例子:
class NetworkCalls {
static let network = Network()
static func getToken(completion:() -> Void) {
network.apiGetToken() {
completion()
}
}
}
的使用方式:
NetworkCalls.getToken() {
print("Network Call Completed")
}
它正常工作,所以我只想找效率的問題,事情要考慮,這和替代之間的差異方法。任何提示/建議將不勝感激!
([靜態功能和快捷的單例類之間的不同]的可能的複製http://stackoverflow.com/questions/37806982/difference-between -static-功能和單級式-SWIFT)。 –