2017-03-05 70 views
0

我有一個對的OBJ-C環,看起來與此類似:轉換複雜的for循環斯威夫特3

for (int i = r1o.index - 1; i < r1o.index -1 + (32*r1h); i+=32) { 
    // code goes here 
} 

我忙我的代碼轉換爲斯威夫特3,我不知道如何表現在斯威夫特3.上述循環,如果自動遞增是我++(而不是我+ = 32),我可以做到以下幾點:

for i in r1o.index - 1 ..< r1o.index -1 + (32*r1h) { 
    // code goes here 
} 

但它是如何處理被扔我第i + = 32。我是否需要將它轉換爲如下所示的while循環,或者是否存在可以處理這個的Swift 3 for循環。

var i = r1o.index - 1 
while i < r1o.index -1 + (32*r1h) { 
    // code goes here 
    i += 32 
} 

回答

1

在Swift 3中,您可以使用stride(from:to:by:)

for i in stride(from: r1o.index - 1, to: (r1o.index -1 + (32*r1h)), by: 32){ 
    print(i) 
    //your code 
}