Tak, mam pętlę do-która wygląda podobnie do tego:Jak napisać pętlę for w Swift 3 dla tablicy, którą modyfikuję podczas pętli for?
for var i = 0; i < results.count ; i += 1 {
if (results[i] < 5) {
results.removeAtIndex(i)
i -= 1
}
}
ten używany do pracy. Ale kiedy zmienił go do składni preferowanego Swift 3.0:
for var i in 0..<results.count {
if (results[i] < 5) {
results.removeAtIndex(i)
i -= 1
}
}
uzyskać tablicę IOOBE wyjątek, ponieważ nie ponownie sprawdzić liczbę i kontynuuje aż do oryginalnego results.count
.
Jak to naprawić? Działa teraz, ale nie chcę wpaść w kłopoty w przyszłości.
ten kod nie narzeka dla var i in 0 ..
to nie ma sensu, dlaczego jabłko sprawiło, że pętla for była tak skomplikowana, że nigdy nie pamiętam, że miałem z tym problem przez ostatnie 25 lat. –