Objective c 将NSArray排序并分组为新的NSMutablearray
我有一个NSMutableDictionary*dict,它包含一个带有kfoo键的NSArray。我想用数组的内容重新构建数组,以便将它们放入新的组中。我怎样才能做到这一点Objective c 将NSArray排序并分组为新的NSMutablearray,objective-c,sorting,nsarray,grouping,Objective C,Sorting,Nsarray,Grouping,我有一个NSMutableDictionary*dict,它包含一个带有kfoo键的NSArray。我想用数组的内容重新构建数组,以便将它们放入新的组中。我怎样才能做到这一点 2013-12-16 06:28:14.236 weather[1246:303] { kfoo = ( ( AAAAA, 11111, sun ), (
2013-12-16 06:28:14.236 weather[1246:303] {
kfoo = (
(
AAAAA,
11111,
sun
),
(
BBBBB,
22222,
mond
),
(
CCCCC,
33333,
sun
),
(
DDDDD,
44444,
water
)
);
}
从上面的日志来看,这是我想要的:
2013-12-16 06:28:14.236 weather[1246:303] {
kfoo = (
sun =(
AAAAA,
11111,
CCCCC,
33333
),
mond =(
BBBBB,
22222
),
water =(
DDDDD,
44444
)
);
}
像这样的怎么样?这假设您的密钥名始终位于索引2,理想情况下,您应该找到一种更可靠的方法来确定密钥。你需要把kfoo传进去
- (NSMutableDictionary *) processWeatherArray:(NSArray *)toProcess {
NSMutableDictionary *toReturn = [NSMutableDictionary dictionary];
for(NSArray *array in toProcess)
{
NSString *key = array[2];
if ([toReturn objectForKey:key] == nil) {
[toReturn setObject:[NSMutableArray array] forKey:key];
}
NSMutableArray *keyValue = [toReturn objectForKey:key];
for(int i=0; i<array.count; i++)
{
if (array[i] != key)
{
[keyValue addObject:array[i]];
}
}
}
return toReturn;
}
请详细解释一下,多阵列一直是我的噩梦:非常感谢!