क्या NSMutableArray
से शुरू करने के लिए कोई ऑब्जेक्ट जोड़ने का कोई प्रभावी तरीका है? मैं objective C
में एक अच्छी डबल एंडेड कतार की तलाश में हूं, साथ ही साथ काम करेगा।एक एनएसएमयूटेबलएरे की शुरुआत में कोई ऑब्जेक्ट जोड़ें?
43
A
उत्तर
95
4
के रूप में अन्य उत्तर का उल्लेख किया है सिर्फ insertObject:atIndex
विधि का उपयोग करें। यह कुशल है क्योंकि एनएसएआरआरएआर में जरूरी स्मृति शामिल नहीं है यानी तत्वों को हमेशा तब तक नहीं ले जाया जाता है जब सम्मिलन विशेष रूप से बड़े सरणीओं के लिए होता है यानी कई सौ तत्व तत्व होते हैं। this blog देखें यह भी ध्यान दें कि उद्देश्य सी में केवल पॉइंटर्स सरणी में स्थानांतरित हो जाते हैं, इसलिए memmove को आंतरिक रूप से C++ के विपरीत उपयोग किया जा सकता है जहां प्रतियां बनानी होंगी।
भी this SE question।
इस विधि का उपयोग करते समय विचार करने के लिए कुछ चीजें। यदि सरणी खाली है, तो आप केवल इंडेक्स 0 पर ऑब्जेक्ट डाल सकते हैं। इसलिए, यदि सरणी में 5 ऑब्जेक्ट हैं, तो आप ऑब्जेक्ट को 5 वें इंडेक्स पर सम्मिलित कर सकते हैं। इंडेक्स 6 पर मूल्य डालने का प्रयास अपवाद में होगा। – EmptyStack
यदि सूचकांक पहले से ही कब्जा कर लिया गया है, तो सूचकांक और उससे परे वस्तुओं को कमरे बनाने के लिए 1 को अपने सूचकांक में जोड़कर स्थानांतरित किया जाता है। – Malloc
@ मॉलोक आपने यहां एक महत्वपूर्ण बिंदु बनाया है, धन्यवाद –