swift 2.2 で新しい Xcode (7.3) をダウンロードしました。
警告があります:
C スタイルの for ステートメントは推奨されておらず、Swift の将来のバージョンで削除される予定です。
この警告を修正するにはどうすればよいですか?
swift 2.2 で新しい Xcode (7.3) をダウンロードしました。
警告があります:
C スタイルの for ステートメントは推奨されておらず、Swift の将来のバージョンで削除される予定です。
この警告を修正するにはどうすればよいですか?
取り外しfor init; comparison; increment {}
も取り外し++
もカンタン--
。Swift のかなりの for-in ループを使用します
// 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)")
}
スウィフト 2.2:
// new swift style works well
for i in 1...10 {
print("I'm number \(i)")
}
減分指数の場合
for index in 10.stride(to: 0, by: -1) {
print(index)
}
reverse()
または、次のよう に使用できます
for index in (0 ..< 10).reverse() { ... }
フロートタイプ用 (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
}
スウィフト 3.0:
からSwift3.0
、stride(to:by:)
Strideable のメソッドは無料の関数に置き換えられました。stride(from:to:by:)
for i in stride(from: 0, to: 10, by: 1){
print(i)
}
のデクリメント インデックスにはSwift 3.0
、次を使用できます。reversed()
for i in (0 ..< 5).reversed() {
print(i) // 4,3,2,1,0
}
それ以外for each
とstride()
、使用できますWhile Loops
var i = 0
while i < 10 {
i += 1
print(i)
}
Repeat-While Loop:
var a = 0
repeat {
a += 1
print(a)
} while a < 10
The Swift Programming Language Guideの制御フローをチェックしてください
このコードで同じエラーが発生しました:
for (var i = 1; i != video.getAll().count; i++) {
print("show number \(i)")
}
Xcode で修正しようとすると、うまくいきません...そのため、新しい迅速なスタイル (for in ループ) を使用する必要があります。
for i in 1...video.getAll().count {
print("show number \(i)")
}