एनएसएडॉर को अन्य एनएसडॉर पर लागू करना


87

मेरे पास एक है NSDictionaryऔर यह लोड करता है UITableView। यदि कोई उपयोगकर्ता अधिक से अधिक स्क्रॉल करता है, तो मैं एपीआई कॉल करता हूं और नया डेटा खींचता हूं। यह डेटा फिर से एक के रूप में है NSDictionary। क्या NSDictionaryमौजूदा में नए को जोड़ना संभव है ?

जवाबों:


205

आप इस लड़के की तलाश कर रहे हैं:

[NSMutableDictionary addEntriesFromDictionary:]

सुनिश्चित करें कि आपका UITableViewशब्दकोश एक है NSMutableDictionary!

इसे यहां देखें


9
हां, लेकिन आप शब्दकोश में कुंजियों की डुप्लिकेट प्रविष्टियां क्यों चाहते हैं?
जोहान कर्ल्ससन

2
-[NSDictionary dictionaryByAddEntriesFromDictionary:]हालांकि, मैं चाहता हूं कि ऐसी कोई विधि नहीं है NSDictionary
डॉनसॉन्ग

जाहिर है, यह सिर्फ डिक्शनरी यूनियन ऑपरेशन है, डुप्लिकेट एंट्रीज नहीं। @JohanKarlsson
DawnSong

3
@DawnSong मैं अगर आप निम्नलिखित विधि के साथ थे, तो आप NS सहारन पर एक श्रेणी बनाएँगे: + (instancetype)dictionaryByAddingEntriesFromDictionary:(NSDictionary *)dictionary { NSMutableDictionary *combinedDictionary = [NSMutableDictionary dictionaryWithDictionary:self]; [combinedDictionary addEntriesFromDictionary:dictionary]; return combinedDictionary; } प्रारूपण मुद्दों के लिए क्षमा करें। StackOverflow टिप्पणियों में अनुकूल बहु-पंक्ति कोड फ़ॉर्मेटिंग की अनुमति नहीं देता है।
बिगसौस

मुझे लगता है कि असली सवाल यह है कि मध्यवर्ती उत्परिवर्तनीय वस्तुओं के बिना यह कैसे किया जाए। ऐसी चीज़ के लिए मुख्य लाभ (जो NSString के लिए मौजूद है, उदाहरण के लिए) धागा सुरक्षित है।
मोटी श्नोर

14

एक नए उत्परिवर्तित शब्दकोश में दो शब्दकोशों को जोड़ने के लिए NSMutableDictionary addEntriesFromDictionary का उपयोग करें। तब आप उत्परिवर्तित एक से एक NSDictionary बना सकते हैं, लेकिन यह आमतौर पर एक शब्दकोश गैर-उत्परिवर्ती होना आवश्यक नहीं है।


1

क्या आपका NS सहकर्मी अन्य NSD शब्दकोशों से भरा है? ऐसा लगता है कि आपको एक NSMutableArray की आवश्यकता होगी जिसे आप अंत में NSD शब्दकोशों को जोड़ सकते हैं। यह मानकर कि आप आने वाले डेटा के प्रवाह को नियंत्रित कर सकते हैं और अपने सरणी में डुप्लिकेट के जोखिम को नहीं चला सकते, आप निश्चित रूप से डेटा को जोड़ सकते हैं।

NSMutableArray *array = [[NSMutableArray alloc] init];
arrayCount = [array count]; // check the item count
[array addObject:dictToAppend];

यह देखे बिना कि आप इसे कैसे लागू कर रहे हैं, मैं अधिक विस्तृत कोड उदाहरण प्रदान नहीं कर सकता। आइटम लागू करना आसान है, लेकिन यह केवल Arrays या शब्दकोशों के परस्पर संस्करणों के साथ किया जा सकता है पता है। आशा है इससे थोडी मदद मिलेगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.