El estilo C para la statement está en desuso y se eliminará en un futuro.

¿Alguien se topó con esto?

Tengo un bucle pequeño pero parece recibir una advertencia.

for(;;nimages++) 

Se propuso y aceptó eliminar los operadores ++ y – del lenguaje Swift en una próxima versión , por lo tanto, la advertencia que está viendo es para ayudarlo a evitar este tipo de construcciones en su código antes de eliminarlo. (Consulte el enlace para get una explicación completa, así como las ventajas y desventajas que proporcionan).

Tenga en count que los loops C-Style también estarán en desuso en un futuro próximo de acuerdo con la siguiente propuesta: https://github.com/apple/swift-evolution/blob/master/proposals/0007-remove-c-style-for -loops.md

Sin saber exactamente qué tipo de lógica necesita implementar, no me siento confiado recomendando una solución; sin embargo, de acuerdo con las propuestas anteriores, recomendaría que se familiarice con las declaraciones Swift for-in y stride . O, como recomendó otra persona, usar un ciclo de while también puede ser apropiado.

¿Cuál es la pregunta? El post de error completo es

El estilo C para la statement está en desuso y se eliminará en una versión futura de Swift

Puede replace esto con algo como

 while true { // loop body nimages += 1 } 

Finalmente, si conoce el número de iteraciones que desea, puede usar un bucle de input:

 for nimages in 0..<maxImages { /* loop body */ } 

C Style Para los loops que están en desuso y que incrementan la disminución como estos i ++, i– también están en desuso

Por lo tanto, no se pudo usar este tipo de loops más

 let myArray = ["one","two","three","four","five","six"] for var i = 0; i < myArray.count; i++ { print(myArray[i]) } 

En lugar de utilizar la syntax anterior, podemos usar esto

 let myArray = ["one","two","three","four","five","six"] for i in 0..<myArray.count { print(myArray[i]) } 

Y tambien esto

 for i in 0...myArray.count-1 { print(myArray[i]) } 

Si no está familiarizado con los operadores de range y los operadores de range medio abierto, esta es la hora ( Enlace de documento)

Operadores de range

El operador de range cerrado (a … b) define un range que va desde a hasta b, e incluye los valores a y b. El valor de a no debe ser mayor que b.

Operadores de range medio abierto

El operador de range medio abierto (a .. <b) define un range que va desde a hasta b, pero no incluye b.

Para el estilo de index--

  for index in 10.stride(to: 0, by: -1) { print(index)//This is 10, 9, 8, ... 1 NOT 0 } 

Para el estilo de index++

 for index in 0..<10 { }