Ios 如何按参数将NSArray拆分为命令行

Ios 如何按参数将NSArray拆分为命令行,ios,objective-c,nsarray,nsdictionary,Ios,Objective C,Nsarray,Nsdictionary,我有一个对象数组,每个对象都有参数。例如,我有一个数组 obj0 {age: 18; name: Jack; class: 1a} obj1 {age: 18; name: Jim; class: 1b} obj2 {age: 19; name: John; class: 1b} obj3 {age: 20; name: JB; class: 1c} 我需要按参数将数组拆分为NSDictionary。如果我使用param age,它将拆分为NSDictionary: Array0: obj0

我有一个对象数组,每个对象都有参数。例如,我有一个数组

obj0 {age: 18; name: Jack; class: 1a}
obj1 {age: 18; name: Jim; class: 1b}
obj2 {age: 19; name: John; class: 1b}
obj3 {age: 20; name: JB; class: 1c}
我需要按参数将数组拆分为
NSDictionary
。如果我使用param age,它将拆分为
NSDictionary

Array0:  obj0 {age: 18; name: Jack; class: 1a}
         obj1 {age: 18; name: Jim; class: 1b}
Key: 18

Array1:  obj2 {age: 19; name: John; class: 1b}
Key: 19

Array2:  obj3 {age: 20; name: JB; class: 1c}
Key20
如何实现它?

伪代码:

result = new mutable dictionary
for each (object in array)
   age = object[@"age"]
   if (result[age] does not exist)
      result[age] = new mutable array
   append object to result[age]

瞧。

和基于西里尔答案的实际Objective-C代码:

NSMutableDictionary *result = [[NSMutableDictionary alloc] init];

for(Object *e in allObjects)
{
    NSMutableArray *mutArrForAge = [result objectForKey:e.age];
    if(mutArrForAge == nil)
    {
        mutArrForAge = [[NSMutableArray alloc] init];
        [result setObject:mutArrForAge forKey:e.age];
    }
    [mutArrForAge addObject:e];
}

瞧,这似乎很令人震惊,但你编写的软件就是为了做到这一点。首先创建一个新的可变字典,然后在数组中循环插入条目。给我们展示一些努力。-1为“为我做家庭作业”的问题提供代码答案。我们有一个代表663的人,还有一些投票率很高的答案。这个问题写得很好,可能没有代码。我可以接受你的反对票,但是来吧。这不像是我们在这里参加考试。这不像是那个家伙展示了任何努力。不是用代码,不是。但问题仍然写得很好。我知道你有时会完全不知所措,真的不知道如何解决最琐碎的问题。当然,伪代码应该“足够”让他走上正确的轨道,但仍然如此。我不是在评判任何人。