अगर मेरे पास एक वर्ग है
@interface Foo {NSString * temp; } @ प्रॉपर्टी (नॉनैटोमिक, कॉपी) NSString * temp; @end मैं समझता हूं कि असाइनमेंट पर, पुरानी अस्थायी रिलीज हो जाएगी और नया कोड temp = [newTemp copy] का उपयोग करके निर्दिष्ट किया जाएगा। और मेमोरी प्रबंधन नियमों के चलते, आपको [temp release] फ़्यू के डेलोक विधि में करना चाहिए, है ना?
मुझे समझ में नहीं आ रहा है कि क्या होता है अगर सेटर का कभी इस्तेमाल नहीं होता - आपके पास अभी भी [temp release] डेलोक में है, इसलिए यह कुछ को जारी रखने के साथ कुछ जारी करता है 0 का। क्या कोई मेरे लिए यह स्पष्ट कर सकता है?
दो संभावनाएं हैं।
-
चूंकि आप इसे कभी भी सेट नहीं करते हैं, यह
शून्यहैरिहाईसेशून्यभेजना ठीक है। तो कोई समस्या नहीं है। -
आपका
initरूटीनtempके लिए एक डिफ़ॉल्ट मान बनाता है। तो यह एक वास्तविक वस्तु है, और इसेरिहाईभेजना भी ठीक है।
कोई भी समस्या नहीं है! किसी भी मामले में आप किसी ऑब्जेक्ट को 0 के एक बनाए रखने की संख्या के साथ संदेश भेज रहे हैं।
Comments
Post a Comment