deinit {
// perform the deinitialization
}
स्विफ्ट "डीललोक" के लिए सही उत्तर है।
हालांकि, iOS 9 में नए को इंगित करना अच्छा है कि NSNotificationCenter को अब साफ करने की आवश्यकता नहीं है!
https://developer.apple.com/library/content/releasenotes/Foundation/RN-FoundationOlderNotes/index.html#X10_11Notes
NSNotificationCenter
OS X 10.11 और iOS 9.0 NSNotificationCenter और NSDistributedNotificationCenter में अब पंजीकृत पर्यवेक्षकों को सूचनाएं नहीं भेजी जाएंगी, जो डील हो सकती हैं। यदि पर्यवेक्षक को शून्य-कमजोर संदर्भ के रूप में संग्रहीत किया जा सकता है, तो अंतर्निहित भंडारण पर्यवेक्षक को एक शून्य कमजोर संदर्भ के रूप में संग्रहीत करेगा, यदि वैकल्पिक रूप से ऑब्जेक्ट को कमजोर रूप से संग्रहीत नहीं किया जा सकता है (अर्थात इसमें कस्टम अनुरक्षण / रिलीज तंत्र है जो रनटाइम को रोक देगा; ऑब्जेक्ट को कमजोर रूप से संग्रहीत करने में सक्षम होने से) यह ऑब्जेक्ट को गैर-कमजोर शून्यिंग संदर्भ के रूप में संग्रहीत करेगा। इसका मतलब यह है कि पर्यवेक्षकों को अपने निपटान पद्धति में संयुक्त राष्ट्र के पंजीकरण की आवश्यकता नहीं है। अगली सूचना जो उस पर्यवेक्षक को दी जाएगी, वह शून्य संदर्भ का पता लगाएगा और पर्यवेक्षक को स्वचालित रूप से पंजीकृत करेगा। यदि किसी वस्तु को कमजोर रूप से संदर्भित किया जा सकता है, तो सूचनाएँ सौदेबाजी के दौरान पर्यवेक्षक को नहीं भेजी जाएंगी; डीललोक के दौरान सूचनाएं प्राप्त करने का पिछला व्यवहार अभी भी गैर-कमजोर शून्य संदर्भ पर्यवेक्षकों के मामले में मौजूद है। - [NSNotificationCenter addObserverForName: ऑब्जेक्ट: कतार: usingBlock] विधि के माध्यम से ब्लॉक आधारित पर्यवेक्षकों को अभी भी संयुक्त राष्ट्र के पंजीकृत होने की आवश्यकता है जब सिस्टम अब भी इन पर्यवेक्षकों के लिए एक मजबूत संदर्भ नहीं रखता है। समय से पहले ही पर्यवेक्षकों को हटाना (या तो कमजोर संदर्भित या शून्य संदर्भित) अभी भी समर्थित है। CFNotificationCenterAddObserver इस व्यवहार के अनुरूप नहीं है क्योंकि पर्यवेक्षक एक वस्तु नहीं हो सकता है। - [NSNotificationCenter addObserverForName: ऑब्जेक्ट: कतार: usingBlock] विधि के माध्यम से ब्लॉक आधारित पर्यवेक्षकों को अभी भी संयुक्त राष्ट्र के पंजीकृत होने की आवश्यकता है जब सिस्टम अब भी इन पर्यवेक्षकों के लिए एक मजबूत संदर्भ नहीं रखता है। समय से पहले ही पर्यवेक्षकों को हटाना (या तो कमजोर संदर्भित या शून्य संदर्भित) अभी भी समर्थित है। CFNotificationCenterAddObserver इस व्यवहार के अनुरूप नहीं है क्योंकि पर्यवेक्षक एक वस्तु नहीं हो सकता है। - [NSNotificationCenter addObserverForName: ऑब्जेक्ट: कतार: usingBlock] विधि के माध्यम से ब्लॉक आधारित पर्यवेक्षकों को अभी भी संयुक्त राष्ट्र के पंजीकृत होने की आवश्यकता है जब सिस्टम अब भी इन पर्यवेक्षकों के लिए एक मजबूत संदर्भ नहीं रखता है। समय से पहले ही पर्यवेक्षकों को हटाना (या तो कमजोर संदर्भित या शून्य संदर्भित) अभी भी समर्थित है। CFNotificationCenterAddObserver इस व्यवहार के अनुरूप नहीं है क्योंकि पर्यवेक्षक एक वस्तु नहीं हो सकता है।
लेकिन मजबूत संदर्भों के बारे में नीचे दिए गए बिंदुओं पर ध्यान दें, इसलिए आपको किसी भी तरह सफाई की चिंता करनी पड़ सकती है ...?