यदि मेरे पास किसी विधि को पारित पैरामीटर है, तो क्या मुझे विधि के अंत में पैरामीटर जारी करने की आवश्यकता है?क्या आपको उद्देश्य-सी में उनके अंत में विधियों के पैरामीटर जारी करने की आवश्यकता है?
उत्तर
नहीं। एनएआरसी: "न्यू ऑलोक रिटैन कॉपी"। यदि आप इनमें से कोई भी काम नहीं कर रहे हैं, तो आपको रिलीज करने की आवश्यकता नहीं है।
आपको केवल उन्हें रिलीज़ करने की आवश्यकता है, अगर आप retain
उन्हें अपनी विधि में छोड़ दें। सम्मेलन यह है कि कॉलर यह सुनिश्चित करने के लिए ज़िम्मेदार है कि कम से कम जब तक कॉल सक्रिय है, तब तक तर्कों के रूप में पारित वस्तुएं जीवित रहती हैं।
कृपया Cocoa memory management guidelines पढ़ें। निम्नलिखित नियम अपने प्रश्न के लिए प्रासंगिक है:
यदि आप इसे एक विधि जिसका नाम "alloc" या "नया" के साथ शुरू होता या उदाहरण के लिए "कॉपी" (शामिल का उपयोग कर बनाते हैं तो आप एक वस्तु का स्वामित्व लेने, alloc, newObject, या mutableCopy), या यदि आप इसे एक सतत संदेश भेजते हैं। रिलीज या ऑटोरेलीज का उपयोग कर अपने स्वामित्व वाली वस्तुओं के स्वामित्व को छोड़ने के लिए आप ज़िम्मेदार हैं। किसी भी अन्य वस्तु को आप ऑब्जेक्ट प्राप्त करते हैं, आपको इसे रिलीज़ नहीं करना चाहिए।
स्पष्ट रूप से आपने उन्हें (अपनी विधि में) बनाकर पैरामीटर प्राप्त नहीं किए। तो एकमात्र ऐसा हिस्सा जिसके बारे में आपको चिंता करने की ज़रूरत है वह यह है कि क्या आपने उन्हें विधि में बनाए रखा है। यदि आपने किया, तो आपको उन्हें रिलीज़ या ऑटोरेलीज़ करना होगा। यदि आपने नहीं किया है, तो आपको उन्हें रिलीज़ या ऑटोरेलीज़ नहीं करना चाहिए।
जब तक आप सीधे नींव वस्तुओं के साथ काम नहीं कर रहे हैं, तो आपको अब तक यह सब एआरसी को सौंपना चाहिए।
- 1. आपको यूआरएल के अंत में स्लैश की आवश्यकता क्यों होगी?
- 2. क्या आपको आईओएस 6.0 में एआरसी के तहत जीसीडी कतार जारी करने की आवश्यकता है?
- 3. क्या आपको सभी बैश स्क्रिप्ट में शेबैंग की आवश्यकता है?
- 4. ADO.NET: क्या आपको लेनदेन को रोलबैक करने की आवश्यकता है?
- 5. क्या हमें अंत में अर्धविराम की आवश्यकता है?
- 6. क्या मुझे इशारा पहचानकर्ता जारी करने की आवश्यकता है?
- 7. विधियों के अंदर बयान की आवश्यकता है?
- 8. आपको यूआरएल एन्कोड करने की आवश्यकता क्यों है?
- 9. आपको WORKON_HOME पर्यावरण चर सेट करने की आवश्यकता क्यों है?
- 10. आपको इस स्थिति में पॉइंटर्स की आवश्यकता क्यों है?
- 11. क्या आपको Node.js में path.join का उपयोग करने की आवश्यकता है?
- 12. क्या आपको वास्तव में टाइप विशेषता निर्दिष्ट करने की आवश्यकता है?
- 13. सी # में, क्या आपको बेस कन्स्ट्रक्टर को कॉल करने की आवश्यकता है?
- 14. django - दृश्य पैरामीटर पैरामीटर में क्या होता है जब दृश्य को पैरामीटर की आवश्यकता होती है?
- 15. सीक्यूआरएस (इवेंट-सोर्स) में, क्या आपको ईवेंट स्टोर में वैश्विक अनुक्रम काउंटर की आवश्यकता है?
- 16. स्ट्रिंग। सामग्री में सी # में पैरामीटर की आवश्यकता नहीं है?
- 17. क्या आपको एचटीएमएल एन्कोड शीर्षक टैग की आवश्यकता है?
- 18. हमें "आउट" पैरामीटर की आवश्यकता क्यों है?
- 19. विधियों के शब्द नामकरण पर सलाह की आवश्यकता है
- 20. एक्सटेंशन विधियों को कक्षा घोषित करने की आवश्यकता है
- 21. क्या आपको WillChangeValueForKey को कॉल करने की आवश्यकता है: और didChangeValueForKey :?
- 22. क्या आपको ढांचे में जाने से पहले ओओपी में अच्छी पृष्ठभूमि की आवश्यकता है?
- 23. नियंत्रक में कैरियरवेव-घुड़सवार मॉडल में पास करने के लिए मुझे किन पैरामीटर की आवश्यकता है?
- 24. थ्रेड नाम - आपको उन्हें कब जानने की आवश्यकता है?
- 25. क्या आपको MySQL में तालिका नामों के रूप में संख्याओं का उपयोग करने की अनुमति है?
- 26. क्या मुझे एक लौटा हुआ एनएसईआरआर ऑब्जेक्ट जारी करने की आवश्यकता है?
- 27. फेसबुक - क्या आपको FB.ui (stream.publish) को कॉल करने के लिए फेसबुक एप्लिकेशन/एपिड की आवश्यकता है?
- 28. क्या आपको आईफोन ऐप्स विकसित करने के लिए मैक ओएस एक्स की आवश्यकता है?
- 29. django - यदि आपको डेटाबेस इंजन की आवश्यकता नहीं है तो आपको क्या करना चाहिए?
- 30. सी में आपको गोटो लेबल के बाद एक कथन की आवश्यकता क्यों है?
संक्षिप्त नाम –
गंभीरता से। यह बहुत अच्छा है। यदि आप स्टूज की आवाज़ मानते हैं और "नरक narc narc" सोचते हैं तो अच्छी तरह से काम करता है क्योंकि आप स्मृति प्रबंधन के मुद्दों के लिए अपने कोड का विश्लेषण करते हैं ... – bbum
0 वोटों के साथ एक प्रश्न के लिए बहुत सारे प्रतिनिधि हैं। –