for Loop Syntactical Error?

时间:2012-03-16 05:46:37

标签: objective-c ios for-loop nsmutablearray nsarray

我有一个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方法实际不会删除对象。想法为什么不呢?

1 个答案:

答案 0 :(得分:-1)

1)你可以发布更多代码吗? NSMutable数组没有“getValue”方法。

2)如果你的代码是可行的,那么我试试这个数组{@“1”,@“2”,@“3”,@“4”,@“5”,@“6”}。 Count = 6.循环将进行2次删除操作。首先它将是数组{@“1”,@“5”,@“6”}。因此,第二个操作将完成程序错误,或者您将得到一个数组{@“1”,@“5”}。这是对的吗?