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)")
}
_
Swift 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() { ... }
_
float型の場合_(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:
_Swift3.0
_から、Strideableのstride(to:by:)
メソッドがフリー関数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
_
制御フローをチェックアウト Swiftプログラミング言語ガイド
このような「for」ループの場合:
for var i = 10; i >= 0; --i {
print(i)
}
あなたは書ける:
for i in (0...10).reverse() {
print(i)
}
このコードでも同じエラーが発生しました:
for (var i = 1; i != video.getAll().count; i++) {
print("show number \(i)")
}
Xcodeで修正しようとすると、運がありません...したがって、新しいSwiftスタイル(for in loop))を使用する必要があります。
for i in 1...video.getAll().count {
print("show number \(i)")
}
ブロッククォート
代わりにこれを使用してください
if(myarr.count)
{
for i in 1...myarr?.count {
print(" number is \(i)")
}
}