2012-08-01 6 views

उत्तर

9

यह है

[NSArray arrayWithObjects:object1, object2, nil]; 

के बराबर तो हाँ, यह एक autoreleased वस्तु अगर आप की जरूरत है, एक नया संग्रह शाब्दिक संकलक कि xcode 4.4 के साथ और

@[object1, object2]; 

ऊपर जहाज में उपलब्ध है इसे बनाए रखने के लिए, आप

myRetainedArray = [@[object1, object2] retain]; 

this question पर जा सकते हैं सभी नए अक्षरों का ओडी विवरण

+1

और आदमी यह भयानक नहीं है! मेरे कोड lol –

+0

में कुछ बैंगनी की आवश्यकता है यदि मुझे ऑटोरेलीज ऑब्जेक्ट बनाने की आवश्यकता नहीं है, तो ऊपर से उपयोग नहीं कर सकते हैं? –

+0

आप अभी भी इसका उपयोग कर सकते हैं, केवल बाद में सरणी को बनाए रखें – wattson12

0

यह एक सरणी बनाने के लिए नया llvm कंपाइलर का शाब्दिक है। कंपाइलर इसे बदलता है:

NSArray *array = [NSArray arrayWithObjects: object1,object2,nil]; 

तो यह एक ऑटोरेलेज्ड ऑब्जेक्ट लौट रहा है।

एक गूगल खोज पाला अधिक जानकारी:

http://clang.llvm.org/docs/ObjectiveCLiterals.html

+1

"कंपाइलर इसे इसमें बदलता है:" नहीं, यह 'arrayWithObjects: count: 'का उपयोग करने के लिए इसे बदलता है। – user102008

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