簡體   English   中英

如何循環通過CGPoints數組

[英]How to cycle through an array of CGPoints

我創建了一個包含16個CGpoint的數組,它們代表游戲板上的16個位置。 這就是我設置數組CGPoint cgpointarray[16]; 我想創建一個for循環來循環遍歷數組中的每個項目,並檢查觸摸是否在某個位置的x距離之內(我的位置是CGPoint。我對xcode或目標c沒有太多的經驗。我知道python等效

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

我將如何做到這一點? 謝謝

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測試)

應該這樣做:

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

    // Do stuff with point
}

我通常會選擇上面的NSValue方法,但有時您正在使用無法更改輸出的API。 @Andrews的方法很酷,但我更喜歡.count的簡單性:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM