#warning: C-style for statement is deprecated and will be removed in a future version of Swift [duplicate] #warning: C-style for statement is deprecated and will be removed in a future version of Swift [duplicate] ios ios

#warning: C-style for statement is deprecated and will be removed in a future version of Swift [duplicate]


Removing for init; comparison; increment {} and also remove ++ and -- easily. and use Swift's pretty for-in loop

   // 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 decrement index

  for index in 10.stride(to: 0, by: -1) {      print(index)  }

Or you can use reverse() like

  for index in (0 ..< 10).reverse() { ... }

for float type (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, The stride(to:by:) method on Strideable has been replaced with a free function, stride(from:to:by:)

for i in stride(from: 0, to: 10, by: 1){    print(i)}

For decrement index in Swift 3.0, you can use reversed()

for i in (0 ..< 5).reversed() {    print(i) // 4,3,2,1,0}

enter image description here


Other then for each and stride(), you can use While Loops

var i = 0while i < 10 {    i += 1    print(i)}

Repeat-While Loop:

var a = 0repeat {   a += 1   print(a)} while a < 10

check out Control flows in The Swift Programming Language Guide


For this kind "for" loop:

for var i = 10; i >= 0; --i {   print(i)}

You can write:

for i in (0...10).reverse() {    print(i)}


I got the same error with this code:

for (var i = 1; i != video.getAll().count; i++) {    print("show number \(i)")}

When you try to fix it with Xcode you get no luck... So you need to use the new swift style (for in loop):

for i in 1...video.getAll().count {    print("show number \(i)")}