私は静的クラスから1つのすべての機能を取得するため、しばらくシングルトンを使用していません。私が気づくべきである2つの間に違いがありますか?Swiftでは、シングルトンとクラスの静的バージョンの違いは何ですか?
シングルトン例:
SomeManager.sharedInstance.user
静的クラスの例:使用に
class SomeManager {
static var user: User!
init(user: User) {
SomeManager.user = user
}
}
:使用に
class SomeManager {
static let sharedInstance = SomeManager()
var user: User!
init(user: User) {
self.user = user
}
}
SomeManager.user
私は明らかな違いは、クラス全体が静的になり、もう1つが静的な特定の部分(静的であることが望ましい)を宣言していることです。どちらか一方を使用する理由はありますか?
ネットワークシングルトンとその静的メソッドを何も含まないクラスで、多数の静的メソッドを使用してアクセスするシングルトンクラスのネットワークコールがあるネットワークをセットアップしています。私はこれが私のシナリオに適切な範囲を持っていると思っていますが、メソッドの品質を保証するのに十分な研究をしていません。
例:使用に
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-function-and-singleton-class-in-swift)を使用します。 –