2016-02-20 9 views
5

पहली बार मैंने स्विफ्ट में सिंगलटन पैटर्न को कार्यान्वित करने के बारे में सीखा है इस पुस्तक में Pro Design Patterns in Swift है।स्विफ्ट में सिंगलेट्स

तरह से मैं सिंगलटन पैटर्न को लागू करने शुरू कर दिया नीचे दिए गए उदाहरण में है:

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

} 

, तो मेरे सवाल है पढ़ने अंतर क्या मैं इस कार्यान्वयन पाया दो कार्यान्वयन के बीच?

+6

आपको यह सब http://stackoverflow.com/questions/24024549/using-a-dispatch-once-singleton-model-in-swift में मिल जाएगा। इसे छोटा करने के लिए: दूसरा कार्यान्वयन वर्तमान में अनुशंसित है। पहला कार्यान्वयन स्विफ्ट <= 1.1 से होता है, जहां स्थैतिक वर्ग गुण अभी तक समर्थित नहीं थे। –

उत्तर

4

स्विफ्ट 1 दिन, static let अभी तक लागू नहीं किया गया था। वर्कअराउंड एक रैपर struct बनाना था। स्विफ्ट 2 के साथ, अब इसकी आवश्यकता नहीं है।

संबंधित मुद्दे