How to create an NSDictionary with multiple keys?

≡放荡痞女 提交于 2019-11-30 07:34:13

You know you can have a NSDictionary inside another NSDictonary right?

NSDictionary *eventLocation = [NSDictionary dictionaryWithObjectsAndKeys:@"43.93838383",@"latitude",@"-3.46",@"latitude", nil];

NSMutableDictionary *eventData = [NSDictionary dictionaryWithObjectsAndKeys:eventLocation,@"eventLocation", nil];
[eventData setObject:@"Jun 13, 2012 12:00:00 AM" forKey:@"eventDate"];
[eventData setObject:@"hjhj" forKey:@"text"];
.
.
.
NSMutableDictionary *finalDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:eventData,@"eventData", nil];
[finalDictionary setObject:@"ELDIARIOMONTANES" forKey:@"type"];
[finalDictionary setObject:@"accIDENTE" forKey:@"title"];

Now with Objective-C literals there is a much better, easier, and cleaner way of accomplishing this. Here is your exact dictionary with this new syntax:

NSDictionary *dictionary = @{
    @"eventData": @{
        @"eventDate": @"Jun 13, 2012 12:00:00 AM",
        @"eventLocation": @{
            @"latitude": @43.93838383,
            @"longitude": @-3.46
        },
        @"text": @"hjhj",
        @"imageData": @"raw data",
        @"imageFormat": @"JPEG",
        @"expirationTime": @1339538400000
    },
    @"type": @"ELDIARIOMONTANES",
    @"title": @"accIDENTE"
};

// Prints: "43.93838383"
NSLog(@"%@", dictionary[@"eventData"][@"eventLocation"][@"latitude"]);
Mr. Pravin Kantariya

How to Create NSArray and with Access for object using NSDictionary ?

... Create NSArray

NSArray *studentkeys = [NSArray arrayWithObjects:@"studentName", @"studentBirthDate", @"studentCity", @"studentMobile"  nil];

NSArray *objects = [NSArray arrayWithObjects:@"Pravin", @"27/08/1990", @"Bhavnagar",@"7878007531", nil]; 

...to Access to NSArray Object Using NSDictionary

NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];                                  

Here is the structure:
Your root object is NSMutableDictionary
eventData - key for object NSMutableDictionary with keys and objects:
->key eventDate object NSString
->key eventLocation object NSMutableDictionary with keys and objects:
----> key latitude object NSNumber
----> key longitude object NSNumber
-> key text object NSString
-> key imageData object NSString later converted to NSData
-> key imageFormat object NSString
-> key expirationTime object NSNumber
type key for object NSString
title key for object NSString

if you want multiple categories , you can follow this format

NSDictionary *jsonObject = @{
                           @"data1":@[
                              @{
                                @"title":@"A"

                                @"subData" : @[
                                @{
                                  @"title":@"aa"
                                 }]
                                }

                             ]
                         };
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!