1

我创建了一个包含 16 个 CG 点的数组,它们代表游戏板上的 16 个位置。这就是我设置数组的方式CGPoint cgpointarray[16];我想创建一个for循环以循环遍历数组中的每个项目并检查触摸是否在位置的x距离内(我将位置作为CGPoint。我没有对xcode或objective c有很多经验。我知道python等价物是

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

我将如何做到这一点?谢谢

4

3 回答 3

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 中测试)

于 2012-01-03T16:20:37.370 回答
1

这应该这样做:

for (NSUInteger i=0; i < sizeof(cgpointarray)/sizeof(CGPoint); i++) {
    CGPoint point = cgpointarray[i];

    // Do stuff with point
}
于 2012-01-03T16:20:51.743 回答
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 ...
}
于 2014-07-31T17:03:49.887 回答