У меня есть задача рефакторинга приложения iOS для Swift 3. Однако есть цикл for
в стиле C, который делает больше, чем просто зацикливание массива в обратном направлении (обратное обязательно).
Это пример кода. Принцип тот же.
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
, так как кажется важным увеличить его в цикле. Любые идеи?