我有任务将一个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