Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何循环遍历一系列CGPoints_Objective C_Ios_Arrays_Cgpoint - Fatal编程技术网

Objective c 如何循环遍历一系列CGPoints

Objective c 如何循环遍历一系列CGPoints,objective-c,ios,arrays,cgpoint,Objective C,Ios,Arrays,Cgpoint,我创建了一个由16个CGpoints组成的数组,代表游戏板上的16个位置。这就是我如何设置数组CGPoint cgpointarray[16]我想创建一个for循环,循环遍历数组中的每个项目,并检查触摸是否在某个位置的x距离内(我将该位置作为一个CGPoint。我对xcode或objective c没有太多经验。我知道python等价物是 for (i in cgpointarray){ //Stuff to do } 我该怎么做?谢谢 for (int i = 0;

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

 for (i in cgpointarray){
        //Stuff to do
    }
我该怎么做?谢谢

for (int i = 0; i < 16; i++){
        CGPoint p = cgpointarray[i];
        //do something
    }
(未在XCode中测试)

(未在XCode中测试)

这应该可以做到:

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

    // Do stuff with point
}
for(整数i=0;i
这应该可以做到:

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

    // Do stuff with point
}
for(整数i=0;i
我通常会选择上面的NSValue方法,但有时您使用的API无法更改输出。@Andrews方法很酷,但我更喜欢简单。计数:

NSArray* arrayOfStructyThings = [someAPI giveMeAnNSArrayOfStructs];
for (NSUInteger i = 0; i < arrayOfStructyThings.count; ++i) {
    SomeOldStruct tr = arrayOfStructyThings[i];
    .... do your worst here ...
}
NSArray*arrayOfStructyThings=[someAPI给出的意思是nsarrayofstructs];
for(整数i=0;i
我通常会选择上面的NSValue方法,但有时您使用的API无法更改输出。@Andrews方法很酷,但我更喜欢简单。计数:

NSArray* arrayOfStructyThings = [someAPI giveMeAnNSArrayOfStructs];
for (NSUInteger i = 0; i < arrayOfStructyThings.count; ++i) {
    SomeOldStruct tr = arrayOfStructyThings[i];
    .... do your worst here ...
}
NSArray*arrayOfStructyThings=[someAPI给出的意思是nsarrayofstructs];
for(整数i=0;i
meccan的答案更完整。我发布的内容(以及他最重要的代码段)可以很好地工作,但使用NSArray是我的选择。第一个是C结构版本(没有OOP)第二个使用标准的基础对象来存储数据。这就是为什么@ AndrewMadsen推荐第二个解决方案。NSCORE是Objto-C对象。而原来的ccgPoxTrar是一个规则的C样式数组。这两个都在Objto-C中完全有效,但是NSArray有点好用。它处理内存管理,通过它的NSMutableArray子类可以很容易地调整大小以容纳更多的对象,可以很容易地存储在字典等其他对象中。此外,Cocoa和Cocoa Touch API到处使用NSArray。meccan的答案更完整。我发布的内容(以及他的顶级代码段)可以很好地工作,但是使用NSArray是我的选择。第一种是C结构版本(w/o OOP)第二个使用标准的基础对象来存储数据。这就是为什么@ AndrewMadsen推荐第二个解决方案。NSCORE是Objto-C对象。而原来的ccgPoxTrar是一个规则的C样式数组。这两个都在Objto-C中完全有效,但是NSArray有点好用。它处理内存管理,通过它的NSMutableArray子类可以轻松地调整大小以容纳更多对象,可以轻松地存储在字典等其他对象中。此外,Cocoa和Cocoa Touch API到处使用NSArray。