खोज…


सृजन करना

NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];

या

NSArray *keys = [NSArray arrayWithObjects:@"key1", @"key2", nil];
NSArray *objects = [NSArray arrayWithObjects:@"value1", @"value2", nil];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:objects 
                                                       forKeys:keys];

या उपयुक्त शाब्दिक वाक्य रचना का उपयोग करना

NSDictionary *dict = @{@"key": @"value", @"nextKey": @"nextValue"};

NSArray के लिए NS सहवास करें

NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];  
NSArray *copiedArray = myDictionary.copy; 

कुंजी प्राप्त करें:

NSArray *keys = [myDictionary allKeys];

मान प्राप्त करें:

NSArray *values = [myDictionary allValues];

NSData को एनएसडीआई

NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];  
NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:myDictionary];

आरक्षित पथ:

NSDictionary *myDictionary = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData:myData];

एनएससीएन को जे.एन.एस.

NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];   

NSMutableDictionary *mutableDictionary = [myDictionary mutableCopy];
NSData *data = [NSJSONSerialization dataWithJSONObject:myDictionary options:NSJSONWritingPrettyPrinted error:nil];
NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

ब्लॉक आधारित गणना

Enumerating शब्दकोशों आपको विधि का उपयोग करके प्रत्येक शब्दकोश कुंजी-मूल्य जोड़ी पर कोड का एक ब्लॉक चलाने की अनुमति देता है enumerateKeysAndObjectsUsingBlock:(void (^)(id key, id obj, BOOL *stop))block

उदाहरण:

NSDictionary stockSymbolsDictionary = @{
                                         @"AAPL": @"Apple",
                                         @"GOOGL": @"Alphabet",
                                         @"MSFT": @"Microsoft",
                                         @"AMZN": @"Amazon"
                                       };
NSLog(@"Printing contents of dictionary via enumeration");
[stockSymbolsDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
    NSLog(@"Key: %@, Value: %@", key, obj);
}];

तेजी से नामांकन

अन्य संग्रह प्रकारों की तरह, NSDictionary को तेजी से एन्यूमरेशन का उपयोग करके गणना की जा सकती है:

NSDictionary stockSymbolsDictionary = @{
                                     @"AAPL": @"Apple",
                                     @"GOOGL": @"Alphabet",
                                     @"MSFT": @"Microsoft",
                                     @"AMZN": @"Amazon"
                                   };

for (id key in stockSymbolsDictionary)
{
    id value = dictionary[key];
    NSLog(@"Key: %@, Value: %@", key, value);
}

क्योंकि NSDictionary स्वाभाविक रूप से अनियंत्रित है, लूप के लिए कुंजी की क्रम की गारंटी नहीं है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow