2011-01-05 11 views
6

मेरे पास NSMutableDictionary है जिसमें से प्रत्येक तत्व एक और शब्दकोश है। मैं अपनी सामग्री को किसी अन्य NSMutableDictionary में कॉपी करने का सबसे अच्छा तरीका क्या है? मैंने इसका उपयोग करने का प्रयास किया है:किसी एनएसएमयूटेबल डिक्शनरी की सामग्री को किसी अन्य एनएसएमयूटेबल डिक्शनरी में कॉपी करना?

firstDictionary = [NSMutableDictionary dictionaryWithDictionary:secondDictionary]; 

हालांकि यह सुनिश्चित करने के लिए यह सबसे अच्छा तरीका नहीं है।

+0

न्यूनतम के रूप में, यह सबसे वर्णनात्मक है। आपको क्यों लगता है कि यह सबसे अच्छा नहीं है? क्या आपको तत्वों की गहरी या उथली प्रतिलिपि की आवश्यकता है? – Schultz9999

+0

मुझे तत्वों की गहरी प्रतिलिपि की आवश्यकता है। – NSExplorer

+0

दीप कॉपी का मतलब है कि आपको प्रत्येक तत्व के प्रत्येक फ़ील्ड की प्रतिलिपि बनाना है (जिसका अर्थ है कि फ़ील्ड के खेतों की गहरी प्रतिलिपि और इसी तरह)। वह कार्यक्षमता किसी भी संग्रह वर्ग द्वारा प्रदान नहीं की जाती है। आपको खुद का ख्याल रखना होगा। – Schultz9999

उत्तर

5

का उपयोग कर NSDictionary initWithDictionary:copyItems: विधि की जाँच मत भूलना।

यह कॉपी करने के माध्यम से तत्वों की गहरी प्रतिलिपि बनाता हैविथज़ोन: आइटम की कक्षा का तरीका। आपको स्वयं को विधि के भीतर फ़ील्ड की प्रतिलिपि बनाने का ख्याल रखना होगा।

0

"सर्वश्रेष्ठ" से आपका क्या मतलब है?
वैसे भी, मैं कुछ मायनों यहाँ सूचीबद्ध:

  1. firstDictionary = [NSMutableDictionary dictionaryWithDictionary: secondDictionary];
  2. [[NSDictionary alloc] initWithDictionary: secondDictionary]; // बाद में
  3. जारी करने के लिए गहरी प्रति का उपयोग कर
  4. उथले प्रतिलिपि
10

आप कॉपी और mutableCopy का उपयोग कर उत्परिवर्तनीय और गैर-परिवर्तनीय शब्दकोशों के बीच भी कूद सकते हैं।

- (void) someFunc:(NSMutableDictionary *)myDict { 
    NSDictionary *anotherDict = [myDict copy]; 
    NSMutableDictionary *yetAnotherDict = [anotherDict mutableCopy]; 
} 
0

एनएससीपीआईंग प्रोटोकॉल के अनुरूप और प्रत्येक ऑब्जेक्ट पर कॉपी विथज़ोन करें।

यदि NsMutableDictionary में एक और शब्दकोश है, जिसमें एक और शब्दकोश है, तो आपको प्रत्येक स्तर पर प्रत्येक शब्दकोश पर कॉपीविथज़ोन करने की आवश्यकता है।

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