So habe ich eine for-Schleife, die in etwa so aussieht:Wie schreibe ich eine For-Schleife in Swift 3 für ein Array, das ich während der for-Schleife ändere?
for var i = 0; i < results.count ; i += 1 {
if (results[i] < 5) {
results.removeAtIndex(i)
i -= 1
}
}
Dies ist früher zu arbeiten. Aber wenn ich es auf die bevorzugte Swift 3.0 Syntax geändert:
for var i in 0..<results.count {
if (results[i] < 5) {
results.removeAtIndex(i)
i -= 1
}
}
ich eine Array IOOBE Ausnahme erhalten, weil es nicht die Zählung erneut überprüfen und weiter auf, bis die ursprünglichen results.count
.
Wie behebe ich das? Es funktioniert jetzt, aber ich will in Zukunft nicht in Schwierigkeiten geraten.
dieser Code nicht für var beschwert sich in i 0 ..
es macht keinen Sinn, warum Apple die for-Schleife so komplex machte, ich erinnere mich nie daran, ein Problem mit ihm für die letzten 25 Jahre –