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的人,还有一些投票率很高的答案。这个问题写得很好,可能没有代码。我可以接受你的反对票,但是来吧。这不像是我们在这里参加考试。这不像是那个家伙展示了任何努力。不是用代码,不是。但问题仍然写得很好。我知道你有时会完全不知所措,真的不知道如何解决最琐碎的问题。当然,伪代码应该“足够”让他走上正确的轨道,但仍然如此。我不是在评判任何人。