2017-02-28 110 views
-5

我在想,如果有人能告訴我如何將其轉換爲SWIFT 3:轉換爲斯威夫特2〜3

for index = 0; index < jsonObjects.count; index += 1 { 
    ... 
} 

我是菜鳥/砍了那麼一點點的解釋將是很好。試圖學習。謝謝。

+1

搜索'[迅速]Ç風格爲循環',你會發現*許多*答案... –

+1

學習是_you_做的事情。 – matt

+0

我可以想出至少3種同樣好的方法來做到這一點,你試過了嗎? –

回答

0

你可以做最簡單的方式(因爲你jsonObject是一個集合):

for obj in jsonObjects { 
    print(obj) 
} 

或者你可以做的功能方式:

stride(from: 0, to: jsonObjects, by: 1).forEach({ obj in 
    print(jsonObjects[obj]) 
}) 
0

c樣式for循環已從swift中刪除,因爲有更優雅的解決方案。

,你可以遍歷一個範圍:

for index in 0 ..< jsonObjects.count { 
    ... 
} 

0 ..< jsonObjects.count創建範圍從0到jsonObjects.count-1。如果應包含最後一個索引,請使用...

此外,它看起來像jsonObjects是一個集合,所以你可以只使用

for object in jsonObjects { 
    ... 
} 

如果需要的索引,使用

for (index, object) in jsonObjects.enumerated() { 
    ... 
} 
0

嘗試使用地圖,或flatmap爲自選

_= jsonObjects.map { object in 

    //manipulate your object 
    print(object) 
} 

還有如何使用它們以及許多在線指南等,這裏是一個很好的一個:link

+0

不是,但我一直認爲迅捷推動更多的地圖和功能編程,而不是定期循環 – Abdoelrhman

+0

哦,哎呀,對不起 - 我的壞。我以爲你在說'可選'的'map(_ :)'。但是使用'map(_ :)'來循環數組是沒有意義的,因爲你沒有使用結果數組。相反,使用'forEach(_ :)'或一個常規的'for in'循環。 – Hamish