objective c - Memory Management ios7 -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 10 उत्तर
मेरे पास निम्न कोड है: < / P>
- (IBAction) HeyCount: (UIButton *) प्रेषक {NSString * strr = [[NSString alloc] initWithString: @ "हाय वहाँ"]; Self.string = @ "" 78 9 "; ओहयाह = @ "456"; एनएसएलॉग (@ "ओहयाह की संख्या को बनाए रखना: स्ट्रिंग के साथ [% d]: [% ld]", [ओहयाह को बनाए रखने की संख्या], (लंबे) [ओहयाह पूर्णांक वैल्यू]); एनएसएलॉग (@ "तार की संख्या को बनाए रखने: [% d] स्ट्रिंग के साथ: [% ld]", [strr retainCount], (लंबे) [strr integerValue]); }
और उपरोक्त कोड के बाहर डाल दिया है:
ओहयाह की संख्या को बनाए रखना: [- 1] स्ट्रिंग के साथ: [456] Strr: [- 1] स्ट्रिंग के साथ: [0]
ओहयाह की घोषणा। में है फ़ाइल
NSString * ohYeah;
मैं
एआरसी का उपयोग नहीं कर रहा हूँ। आप में से कोई भी यह समझा सकता है कि
दोनों
तार का
-1 और
के साथ किसी भी वस्तु को एक्सेस करना को बनाए रखने कोड> -1 क्रैश नहीं होना चाहिए?
मुझे लगता है कि संकलक चतुर है और बनाता है आपके दिए गए कोड से स्ट्रिंग लीटरल्स चूंकि वे अपनी याददाश्त में रहते हैं और उन्हें कभी भी जारी नहीं किया जाता है इसलिए वे UINT_MAX की एक संख्या को प्राप्त करते हैं। % D के साथ मुद्रित UINT_MAX -1 में परिणाम होगा अहस्ताक्षरित पूर्णांक के लिए% u का उपयोग करें।
Comments
Post a Comment