如何从两个nsarrays创建自定义的nsdictionary

时间:2016-05-28 11:09:59

标签: ios objective-c nsarray nsdictionary

我有两个像这样的数组

idArray:(
    "548c2afe-5943-4929-9c6b-b544f5022115-sff45v-kjsa68f",
    "656e8481-f2d5-4843-bebd-883f1b0f79d0-ksfns-gg456gg"
)

namesArray:(
"king",
"queen"
)

我想制作一个看起来像这样的字典

[{
"id" : "548c2afe-5943-4929-9c6b-b544f5022115-sff45v-kjsa68f",
"name" : "king"
},
{
"id" : "3656e8481-f2d5-4843-bebd-883f1b0f79d0-ksfns-gg456gg",
"name" : "queen"
}]

在这个问题上帮助我。我试过这个

NSDictionary *fullDictionary = @{@"id": userarray, @"scandat": scandatesarray};

                                NSError *error;
                                NSData *data = [NSJSONSerialization dataWithJSONObject:fullDictionary options:0 error:&error];
                                NSLog(@"%@", fullDictionary);

,输出

{
    id =     (
        "656e8481-f2d5-4843-bebd-883f1b0f79d0",
        "548c2afe-5943-4929-9c6b-b544f5022115"
    );
    scandat =     (
        "2016-05-28 16:50:30",
        "2016-05-28 16:50:59"
    );
}

3 个答案:

答案 0 :(得分:1)

您没有制作字典 - 您的目标对象是包含NSArray个对象的NSDictionary元素。

NSMutableArray *res = [NSMutableArray array];
NSArray *keys = @[@"id", @"name"];
for (int i = 0 ; i != idArray.count ; i++) {
    NSDictionary *dict = [NSDictionary
        dictionaryWithObjects: @[idArray[i], nameArray[i]]
        forKeys: keys
    ];
    [res addObject:dict];
}

答案 1 :(得分:0)

NSMutableArray  *arr = [[NSMutableArray alloc]init];

for(int i=0;i<idArray.count;i++)
{

   NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"id",[NSString stringWithFormat:@"%@",[idArray objectAtIndex:i]],@"name",[NSString stringWithFormat:@"%@",[namesArray objectAtIndex:i]]];


   [arr addObject:dic];

  }

答案 2 :(得分:0)

您想要一个包含字典的数组。

因此,您创建了一个可变数组,然后创建了许多字典,每个字典都有两个键/值对,并将它们添加到可变数组中。

我希望编写实际代码并不会吓到你。

另一方