Neuerstellung eines NSArray durch die Gruppierung von Objekten, die entsprechenden id-Nummern?

Ich habe ein NSArray und jedes Objekt in diesem array verfügt über eine Gruppen-id und einen Namen. Jedes Objekt ist einzigartig, aber es gibt viele mit der gleichen Gruppen-id. Gibt es eine Möglichkeit, ich kann reißen Sie das array auseinander und bauen ihn so, dass die Namen werden zu einem Objekt zusammengefasst mit den entsprechenden groubId? Hier ist, was das array aktuell aussieht:

2013-03-12 20:50:05.572 appName[4102:702] the  array:  (
        {
        groupId = 1;
        name = "Dan";
    },
        {
        groupId = 1;
        name = "Matt";
    },
        {
        groupId = 2;
        name = "Steve";
    },
        {
        groupId = 2;
        name = "Mike";
    },
        {
        groupId = 3;
        name = "John";

    },
        {
        groupId = 4;
        name = "Kevin";
    }
)

Dies ist, was ich möchte, dass es so Aussehen:

2013-03-12 20:50:05.572 appName[4102:702] the  array:  (
        {
        groupId = 1;
        name1 = "Dan";
        name2 = "Matt";
    },
        {
        groupId = 2;
        name1 = "Steve";
        name2 = "Mike";
    },
        {
        groupId = 3;
        name = "John";

    },
        {
        groupId = 4;
        name = "Kevin";
    }
)

BEARBEITEN:
Ich habe versucht, & konnte nicht mit vielen versuchen, die meisten entlang der Linien von so etwas wie dieses (sloppy Erholung, aber um eine Vorstellung zu geben):

int idNum = 0;
for (NSDictionary *arrObj in tempArr){
    NSString *check1 = [NSString stringWithFormat:@"%@",[arrObj valueForKey:@"groupId"]];
    NSString *check2 = [NSString stringWithFormat:@"%@",[[newDict valueForKey:@"groupId"]];
    if (check1 == check2){
        NSString *nameStr = [NSString stringWithFormat:@"name_%d",idNum];
        [newDict setValue:[arrObj valueForKey:@"name"] forKey:nameStr];
    }
    else {
        [newDict setValue:arrObj forKey:@"object"];
    }
    idNum++;
}  
Schreibe einen Kommentar