ios - आईओएस में[कक्षा नई] और[[कक्षा आवंटन] init] के बीच क्या अंतर है?




objective-c new-operator (2)

संभावित डुप्लिकेट:
उद्देश्य-सी में आवंटित, init, और नया

मैं [Class new] और [[Class alloc] init] बारे में थोड़ा उलझन में हूँ। मैंने [Class new] और [[Class alloc] init] का उपयोग कर एक ऑब्जेक्ट content परिभाषित की है।

(1). NSMutableArray *content = [NSMutableArray new];
(2). NSMutableArray *content = [[NSMutableArray alloc] init];

मेरा सवाल [Class new] और [[Class alloc] init] बीच अंतर के बारे में है। मेरे लिए, (1) और (2) समान हैं। यदि (1) और (2) समान हैं, तो हम [[Class alloc] init] की तुलना में अधिकांश समय [[Class alloc] init] उपयोग क्यों करते हैं? मुझे लगता है कि कुछ अंतर होना चाहिए।

कृपया मतभेद, पेशेवरों और दोनों के विपक्ष की व्याख्या करें?



+new -init और -init लिए +new विधि बस -init । स्वामित्व अर्थशास्त्र समान हैं। +new उपयोग करने का एकमात्र लाभ यह है कि यह अधिक संक्षिप्त है। यदि आपको कक्षा के आरंभिक को तर्क प्रदान करने की आवश्यकता है, तो आपको इसके बजाय +alloc और -initWith... विधियों का उपयोग करना होगा।





init