如何循环遍历一系列CGPoints

时间:2012-01-03 16:13:55

标签: objective-c ios arrays cgpoint

我创建了一个由16个CG点组成的数组,代表游戏板上的16个位置。这就是我设置数组CGPoint cgpointarray[16];的方法我想创建一个for循环来循环遍历数组中的每个项目,并检查触摸是否在一个位置的x距离内(我的位置为CGPoint)。我没有太多关于xcode或objective c的经验。我知道python等价物是

 for (i in cgpointarray){
        //Stuff to do
    }

我将如何实现这一目标?感谢

2 个答案:

答案 0 :(得分:6)

for (int i = 0; i < 16; i++){
        CGPoint p = cgpointarray[i];
        //do something
    }

或者如果你想使用NSArray类:

NSMutableArray *points = [NSMutableArray array];

[points addObject:[ NSValue valueWithCGPoint:CGPointMake(1,2)]];

for(NSValue *v in points) {
       CGPoint p = v.CGPointValue;

        //do something
}

(未在XCode中测试)

答案 1 :(得分:0)

我通常会采用上面的NSValue方法,但有时您正在使用API​​,您无法更改输出。 @Andrews方法很酷,但我更喜欢简单的.count:

NSArray* arrayOfStructyThings = [someAPI giveMeAnNSArrayOfStructs];
for (NSUInteger i = 0; i < arrayOfStructyThings.count; ++i) {
    SomeOldStruct tr = arrayOfStructyThings[i];
    .... do your worst here ...
}