我有任務將一個iOS應用程序重構爲Swift 3.但是,有一個C型的for
循環,它不僅僅是向後循環數組(它是強制性的向後)。Swift 2.2遞減特定於循環Swift 3
這是一個示例代碼。原理是一樣的。
let array = ["hello", "world", nil, "foo", nil, "bar", "Peter Griffin"]
var threeLetterWords = 0
for var i = array.count-1; i >= 0 && array[i].characters.count == 3; --i, ++threeLetterWords { }
print("Found words: \(threeLetterWords)") // should say `Found words: 2`
我試着用stride(from:through:by:)
但我不能增加threeLetterWords
,因爲它來增加它的環路顯得重要。有任何想法嗎?
任何C風格for循環都可以用while循環替換。 – vacawama
您的代碼計算陣列末尾的3個字母單詞的數量。它會爲你的測試數組返回0。 – vacawama
我現在完全理解爲什麼C樣式for循環被刪除。 – Alexander