2016-02-20 11 views
5

スウィフトでシングルトンパターンを実装する方法を初めて学んだのは、この本Pro Design Patterns in Swiftです。スウィフトのシングルトン

私はSingletonパターンを実装し始めた方法は、以下の例である:

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() { 
    } 

} 

を読みながら、私はこの実装を見つけたので、私の質問は違い何であり、 2つの実装の間?

+6

これはすべてhttp://stackoverflow.com/questions/24024549/using-a-dispatch-once-singleton-model-in-swiftにあります。短くするには:2番目の実装は現在推奨されている実装です。最初の実装はSwift <= 1.1に由来し、静的なクラスプロパティはまだサポートされていません。 –

答えて

4

戻るスウィフト1日、static letはまだ実装されていません。回避策は、ラッパーstructを作成することでした。 Swift 2でこれはもう必要ありません。