我有一个NSMutableArray,我正在循环并试图找到每组四个的平均值,并将平均值设置为该集合中第一个值的索引。这就是我所拥有的:
for (int i = 0; i < [romArray count] - 4; i++) {
double a = [[romArray objectAtIndex:i] getValue] + [[romArray objectAtIndex:i+1] getValue] + [[romArray objectAtIndex:i + 2] getValue] + [[romArray objectAtIndex:i + 3] getValue];
a /= 4;
[romArray replaceObjectAtIndex:i withObject:[[Value alloc] initWithValues:[[romArray objectAtIndex:i] getTimestamp] :a ]];
[romArray removeObjectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(i + 1, 3)]];
b++;
}
NSLog(@"%i", b);
b
返回70,(一组280件),所以我知道问题不在i++
。当循环通过时,数组中仍有相同数量的对象,因此removeObjects
方法实际不会删除对象。想法为什么不呢?
答案 0 :(得分:-1)
1)你可以发布更多代码吗? NSMutable数组没有“getValue”方法。
2)如果你的代码是可行的,那么我试试这个数组{@“1”,@“2”,@“3”,@“4”,@“5”,@“6”}。 Count = 6.循环将进行2次删除操作。首先它将是数组{@“1”,@“5”,@“6”}。因此,第二个操作将完成程序错误,或者您将得到一个数组{@“1”,@“5”}。这是对的吗?