Ich habe gerade einen neuen Xcode (7.3) mit Swift 2.2 heruntergeladen.
Es hat eine Warnung:
C-style for statement ist veraltet und wird in zukünftigen Versionen von Swift entfernt.
Wie kann ich diese Warnung beheben?
for init; comparison; increment {}
und ++
und --
einfach entfernen. und nutzen Sie die hübsche For-in-Schleife von Swift
// WARNING: C-style for statement is deprecated and will be removed in a future version of Swift
for var i = 1; i <= 10; i += 1 {
print("I'm number \(i)")
}
Swift 2.2:
// new Swift style works well
for i in 1...10 {
print("I'm number \(i)")
}
Für Dekrementindex
for index in 10.stride(to: 0, by: -1) {
print(index)
}
Oder Sie können reverse()
like verwenden
for index in (0 ..< 10).reverse() { ... }
für Float-Typ (there is no need to define any types to index)
for index in 0.stride(to: 0.6, by: 0.1) {
print(index) //0.0 ,0.1, 0.2,0.3,0.4,0.5
}
Swift 3.0:
From Swift3.0
, Die stride(to:by:)
-Methode von Strideable wurde durch eine freie Funktion ersetzt, stride(from:to:by:)
for i in stride(from: 0, to: 10, by: 1){
print(i)
}
Für den Dekrementierungsindex in Swift 3.0
können Sie reversed()
verwenden.
for i in (0 ..< 5).reversed() {
print(i) // 4,3,2,1,0
}
Anders als for each
und stride()
können Sie While Loops
verwenden.
var i = 0
while i < 10 {
i += 1
print(i)
}
Repeat-While Loop:
var a = 0
repeat {
a += 1
print(a)
} while a < 10
check out Kontrollflüsse in Der Swift-Programmiersprachenführer
Für diese Art "for" -Schleife:
for var i = 10; i >= 0; --i {
print(i)
}
Du kannst schreiben:
for i in (0...10).reverse() {
print(i)
}
Ich habe den gleichen Fehler mit diesem Code erhalten:
for (var i = 1; i != video.getAll().count; i++) {
print("show number \(i)")
}
Wenn Sie versuchen, das Problem mit Xcode zu beheben, haben Sie kein Glück ... Sie müssen also den neuen Swift-Stil (für In-Loop) verwenden:
for i in 1...video.getAll().count {
print("show number \(i)")
}
Blockquote
Verwenden Sie stattdessen diese
if(myarr.count)
{
for i in 1...myarr?.count {
print(" number is \(i)")
}
}