iOS遍歷陣列相同值元素到另一陣列中同一物件的子陣列

躍然發表於2015-08-26

saledGoodsArray陣列中儲存商品物件saledgoods,saledgoods有seatNo屬性,將saledGoodsArray陣列中saledgoods物件相同座位兒號的商品賦值給同一個人(personObject)的購買商品陣列(purchasedGoodsArr)。

剛發現可以這樣寫,慚愧得緊!

  dataArray = [[NSMutableArray alloc] init];

    saledGoodsArray = [ShoppingCartDataCenter queryNoPayGoodsByFlightID:@"8815"];

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

    for (NSInteger i=0; i<saledGoodsArray.count; i++) {
        SaledGoods *saledgoods = [saledGoodsArray objectAtIndex:i];
        SCPersonObject * personObject = [personObjectDics objectForKey:[saledgoods seatNo]];
        if (!personObject) {
            personObject = [[SCPersonObject alloc] init];
            [[personObject purchasedGoodsArr] addObject:saledgoods];
            [personObjectDics setObject:personObject forKey:[saledgoods seatNo]];
        }else {
            [[personObject purchasedGoodsArr] addObject:saledgoods];
        }
    }

    for (SCPersonObject * personObject in [personObjectDics allValues]) {
        if ([personObject isKindOfClass:[SCPersonObject class]]) {
            [dataArray addObject:personObject];
        }
    }

相關文章