Здесь происходит любопытная вещь: 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];
}
}
}
Если удалить все объекты из исходного массива, ранее добавленные в какой-то другой массив. Это также очищает другой массив? Это не имеет смысла для меня. В моем коде должно быть что-то не так. Может ли кто-нибудь помочь мне обнаружить мою ошибку?
Спасибо за внимание!