मैं iOS 5 में ऑटोमैटिक रेफरेंस काउंटिंग सीखने की कोशिश कर रहा हूं। अब इस सवाल का पहला भाग आसान होना चाहिए:
क्या यह सही है कि ARC का उपयोग करते समय मुझे अपने प्रेषण में स्पष्ट रिलीज़-प्रॉपर्टी स्टेटमेंट लिखने की आवश्यकता नहीं है? दूसरे शब्दों में, क्या यह सच है कि निम्नलिखित को स्पष्ट सौदे की आवश्यकता नहीं है?
@interface MyClass : NSObject @property (strong, nonatomic) NSObject* myProperty; @end @implementation MyClass @synthesize myProperty; @end
मेरा अगला और अधिक महत्वपूर्ण प्रश्न एआरसी रिलीज़ नोट्स दस्तावेज़ में संक्रमण की एक पंक्ति से आता है :
आपको उदाहरण चर नहीं (वास्तव में) जारी करने की आवश्यकता नहीं है, लेकिन आपको एआरसी का उपयोग करके संकलित नहीं किए जाने वाले सिस्टम वर्गों और अन्य कोड पर [स्व सेटलेगेट: एनआईएल] को लागू करने की आवश्यकता हो सकती है।
यह सवाल भी पैदा करता है: मुझे कैसे पता चलेगा कि कौन से सिस्टम क्लास एआरसी के साथ संकलित नहीं हैं? मुझे अपना खुद का सौदा कब बनाना चाहिए और स्पष्ट रूप से संपत्तियों को बनाए रखना चाहिए? क्या मुझे सभी एनएस और यूआई फ्रेमवर्क वर्गों का उपयोग करना चाहिए जो संपत्तियों में उपयोग किए गए हैं, जिनमें स्पष्ट सौदा करने की आवश्यकता है?
मैनुअल रेफ़रेंस ट्रैकिंग का उपयोग करते समय किसी संपत्ति के बैकिंग आइवर को जारी करने की प्रथाओं पर एसओ और अन्य जगहों पर जानकारी का खजाना है, लेकिन एआरसी का उपयोग करते समय इस बारे में अपेक्षाकृत कम।
MyController : UIViewController
वर्ग है जो एक UIView बनाता है और उसका मालिक है और अपने आप को देखने का प्रतिनिधि भी निर्धारित करता है। यह उस दृश्य का एकमात्र रिटेनिंग स्वामी है। जब कंट्रोलर डीललॉक्ड हो जाता है, तो व्यू को भी डीललोकेड होना चाहिए। क्या यह तब मायने रखता है जब प्रतिनिधि सूचक झूल रहा हो?