El uso del Operador Ternario simplifica el Código Fuente a la hora de programar Aplicaciones para iPhone cuando tenemos expresiones sencillas, en caso contrario es más aconsejable utilizar las instrucciones if/else
La sintaxis es la siguiente:
condición ? a : b
Si la condición es verdadera (true) entonces se ejecuta a, en caso contrario se ejecutará b.
Veamos un ejemplo práctico para entender su funcionamiento. Asignaremos un determinado valor a una variable llamada permisoConducir en función de la edad del posible conductor.
var edad : Int = 17
var permisoConducir : String = ""
permisoConducir = edad >= 18 ? "Ya puedes conducir un coche" : "Todavía no puedes conducir un coche"
print(permisoConducir)
Este problema lo hubiéramos resuelto con instrucciones if/else de la siguiente manera
var edad : Int = 17
var permisoConducir : String = ""
if edad >= 18 {
permisoConducir = "Ya puedes conducir un coche"
}else{
permisoConducir = "Todavía no puedes conducir un coche"
}
print(permisoConducir)
Veamos otro ejemplo. Supongamos que un profesor quiere subir 2 puntos a la nota del exámen si el alumno ha trabajado en clase, y en caso contrario no le subirá ninguna puntuación extra:
var nota : Int = 7
var trabajaEnClase : Bool = true
var notaFinal : Int = 0
notaFinal = nota + (trabajaEnClase ? 2 : 0)
print(notaFinal)
Es precisamente en situaciones con expesiones sencillas como las de este ejemplo donde es más ventajoso y elegante utilizar el Operador Ternario en lugar de las Instrucciones if/else
var nota : Int = 7
var trabajaEnClase : Bool = true
var notaFinal : Int = 0
var puntuacionExtra : Int = 0
if trabajaEnClase {
puntuacionExtra = 2
}else{
puntuacionExtra = 0
}
notaFinal = nota + puntuacionExtra
print(notaFinal)