Will this Objective-C, nested NSArray cause a memory leak on iPhone? -


  NSArray * tLines = [[NSArray alloc] initWithObjects: [[NSArray alloc] initWithObjects: @ "मैट", @ "डेविड", शून्य], [[एनएसएआरआरई एएलएलओ] इनिटविथऑब्जेक्ट्स: @ "बॉब", @ "केन", शून्य], शून्य]; Self.lines = tLines; [TLines रिलीज़];  

मैं alloc आईएनजी NSArray से एक NSArray में हूँ, नेस्टेड एरे रिहा होने पर होगा मैं [लाइन रिलीज़] कॉल करता हूं; ?

नहीं, आपको नहीं करना चाहिए इस। जब आप alloc सरणियों को निकालते हैं, तो आपको उन्हें छोड़ना होगा। युक्त ऑरेंज अपने ऑब्जेक्ट्स के लिए मेमोरी मैनेजमेंट को संभालता है (जब वे जोड़े जाते हैं, उन्हें हटा दिया जाता है तब रिलीज होने पर), लेकिन यह उन ऑब्जेक्ट की जिम्मेदारी के बगल में है जो उन्हें ठीक से रिलीज करने के लिए बनाई गई है। आपको या तो arrays बनाने के लिए एक सुविधा निर्माता का उपयोग करना चाहिए या फिर उन्हें एक समय में एक बनाएं और मास्टर एरे में जोड़े जाने के बाद उन्हें छोड़ दें।


Comments