Array1 добавляется в Array2, затем Массив 1 очищается и внезапно исчезает из массива 2

Здесь происходит любопытная вещь: tempArray должен добавляться к masterArray каждый раз, когда выполняется оператор if. (Операция if работает отлично и срабатывает, когда нужно.)

Мне также нужно каждый раз очищать временный массив.

Мой конечный результат должен быть masterarray, который содержит каждый добавленный им массив (имеются в виду все временные массивы, которые я добавил в цикле for).

Вместо этого он только продолжает добавлять tempArray в MasterArray по индексу 0 каждый раз.

Код:

- (void)alpabetize:(NSArray *)arr {

self.tempArray = [[NSMutableArray alloc] init];
self.masterArray = [[NSMutableArray alloc] init];

for (int i = 0; i<[arr count]; i++) {

    NSString *currentString = [NSString stringWithFormat:@"%@", [[[arr objectAtIndex:i] valueForKey:@"first_name"] substringToIndex:1]];
    NSString *nextString = [NSString stringWithFormat:@"%@", [[[arr objectAtIndex:(i+1)] valueForKey:@"first_name"] substringToIndex:1]];

    [self.tempArray addObject:[arr objectAtIndex:i]];

    if (![currentString isEqualToString:nextString]) {

    [self.masterArray addObject:tempArray];
    [self.tempArray removeAllObjects];

    }

}

}

Если удалить все объекты из исходного массива, ранее добавленные в какой-то другой массив. Это также очищает другой массив? Это не имеет смысла для меня. В моем коде должно быть что-то не так. Может ли кто-нибудь помочь мне обнаружить мою ошибку?

Спасибо за внимание!

0
задан Alexander of Norway 14 June 2012 в 05:02
поделиться