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

How to create customised nsdictionary from two nsarrays

我有两个像这样的数组

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"
    );
}

您不是在制作字典 - 您的目标对象是包含 NSDictionary 个对象作为其元素的 NSArray

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];
}
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];

  }

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

所以你创建了一个可变数组,然后你创建了很多字典,每个字典有两个 key/value 对,然后将它们添加到可变数组中。

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

另一方面