ios - guidelines - #warning: el estilo C para la declaración está en desuso y se eliminará en una versión futura de Swift
tab bar ios (4)
Esta pregunta ya tiene una respuesta aquí:
- Reemplazo para el bucle de estilo C en Swift 2.2 4 respuestas
Acabo de descargar un nuevo Xcode (7.3) con swift 2.2.
Tiene una advertencia:
El estilo C para la declaración está en desuso y se eliminará en una versión futura de Swift.
¿Cómo puedo solucionar esta advertencia?
Blockquote
Use esto en su lugar
if(myarr.count)
{
for i in 1...myarr?.count {
print(" number is /(i)")
}
}
Eliminar
for init; comparison; increment {}
for init; comparison; increment {}
for init; comparison; increment {}
y también eliminar
++
y
--
fácilmente.
y usa el bonito bucle for-in de 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)")
}
Para disminuir el índice
for index in 10.stride(to: 0, by: -1) {
print(index)
}
O puedes usar
reverse()
como
for index in (0 ..< 10).reverse() { ... }
para tipo flotante
(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:
Desde
Swift3.0
, el
Swift3.0
stride(to:by:)
en Strideable ha sido reemplazado por una función libre,
stride(from:to:by:)
for i in stride(from: 0, to: 10, by: 1){
print(i)
}
Para el índice de disminución en
Swift 3.0
, puede usar
reversed()
for i in (0 ..< 5).reversed() {
print(i) // 4,3,2,1,0
}
Aparte
for each
y
stride()
, puede usar
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
echa un vistazo a los flujos de control en la Guía del lenguaje de programación Swift
Para este tipo de bucle "for":
for var i = 10; i >= 0; --i {
print(i)
}
Puedes escribir:
for i in (0...10).reverse() {
print(i)
}
Recibí el mismo error con este código:
for (var i = 1; i != video.getAll().count; i++) {
print("show number /(i)")
}
Cuando intentas arreglarlo con Xcode no tienes suerte ... Por lo tanto, debes usar el nuevo estilo rápido (en bucle):
for i in 1...video.getAll().count {
print("show number /(i)")
}