2011-12-19 26 views
5

क्या differece के बीच है: जब तक आप इसे जारीNSMutableArray alloc init बनाम NSMutableArray सरणी

[[NSMutableArray alloc] init] 

और

[NSMutableArray array] 
+5

संभावित डुप्लिकेट [\ [NSMutableArray array \] बनाम \ [\ [NSMutableArray alloc \] init \]] के बीच दुविधा [http://stackoverflow.com/questions/5423211/diference-between-nsmutablearray-array-vs -nsmutablearray-alloc-init) – kennytm

उत्तर

11

यहां [NSMutableArray array] में आपको array जारी करने की आवश्यकता नहीं है, यह स्वचालित रूप से रिलीज़ हो जाएगा। & अगर आप [NSMutableArray alloc] init] लिखेंगे आप array तो [[NSMutableArray array] बराबर होगी रिलीज करने के लिए [[[NSArray alloc] init] autorelease];

+0

मैं इसे संपादित करता हूं, ImageList = [[NSMutableArray alloc] init]; ImageList = [[[NSMutableArray alloc] init] autorelese] के रूप में; लेकिन यह काम नहीं किया। त्रुटि क्या होनी चाहिए – susitha

+0

जो एक्सकोड और आईओएस संस्करण आप उपयोग कर रहे हैं? –

+0

एक्सकोड 4.1 और आईओएस 4.3 – susitha

1

स्मृति में पहली बनी हुई है, इसके दूसरे भाग पाश के अंत तक रहता है यात्रा।

1

NSMutableArray को स्मृति को रिहा करने की कोई जरूरत नहीं है और [NSMutableArray alloc] init] यू इसे जारी किया जाना चाहिए।

0

जब एआरसी काम करता है, तो आपको वस्तुओं को इनिट, आवंटन, नई, प्रतिलिपि और mutableCopy, जैसे [NSMutableArray alloc] init] से मुक्त करना होगा। यदि नहीं, तो वस्तुओं को ऑटोरेलीजपूल में पंजीकृत किया जाएगा, जैसे [एनएसएमयूटेबलएरे ऐरे]।

संबंधित मुद्दे