我在这里发生了这种奇怪的事情,每次 if 语句发生时,都应该将 tempArray 添加到 masterArray 中。(if 语句完美运行,并在它应该被触发时被触发。)
我还需要每次清除临时数组。
然后我的最终结果应该是一个包含它添加的每个数组的主数组。(意味着我在整个 for 循环中添加的所有临时数组)
相反,它每次只在索引 0 处将 tempArray 添加到 MasterArray。
代码:
- (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];
}
}
}
如果您从先前添加到其他数组的原始数组中删除所有对象。这是否也清除了另一个数组?这对我来说毫无意义。我的代码一定有问题。有人可以帮我发现我的错误吗?
感谢您的时间!