如何从两个 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 对,然后将它们添加到可变数组中。
我希望编写实际代码不会吓到您。
另一方面
我有两个像这样的数组
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 对,然后将它们添加到可变数组中。
我希望编写实际代码不会吓到您。
另一方面