Si tu objetivo es aprender y dedicarte a la Programación de Apps para iPhone, tendrás que utilizar en infinidad de ocasiones los Operadores Lógicos para hacer que tus Aplicaciones cobren vida y puedan tomar decisiones en función de unos valores o de la interacción de los usuarios.
Gracias a los Operadores Lógicos podremos evaluar condiciones más complejas
Operador | Descripción |
! | (NOT) No Lógico. Invierte un valor booleano, es decir, true se convierte en false y false se convierte en true |
&& | (AND) Y Lógico. Es verdadero (true) cuando los dos operandos son verdaderos, y falso (false) en cualquier otro caso |
|| | (OR) O Lógico. Es verdadero (true) cuando cualquiera de los dos operandos son verdaderos, y falso (false) cuando los dos operandos son falsos |
Veamos algunos ejemplos de su aplicación cuando trabajamos con las Funciones Condicionales if/else.
Es un Operador Binario que requiere de dos argumentos booleanos. Obtendremos el resultado verdadero (true) cuando los dos operandos son verdaderos, y falso (false) en cualquier otro caso
Supongamos el caso de una compañía aerea que sólo permite embarcar a aquellas personas que son mayores de 18 años y evidentemente tenga el correspondiente billete de avión, es decir, se tienen que cumplir las dos condiciones. Tendremos que utilizar el Operador Lógico &&.
Creamos un Playground y escribimos las siguientes líneas de Código:
var edad : Int = 19
var tieneBilleteAvion : Bool = true
if edad > 18 && tieneBilleteAvion {
print ("Puedes embarcar en el Avión")
}else{
print ("NO puedes embarcar en el Avión")
}
Veamos el resultado en la Consola de Xcode
Se trata de un Operador Unario que se aplica a un valor booleano. Nos da como resultado lo contrario del valor al que se aplica. Invierte un valor booleano, es decir, true se convierte en false y false se convierte en true
En el siguiente ejemplo, nuestra aplicación controla el acceso a un comedor universitario, dejando pasar a aquellas personas que todavía no han comido. La Condición Lógica será la negación ! de la variable hasComido. Se leerá de la siguiente forma: if !hasComido Si NO has comido entonces se ejecuta el primer bloque de código, en caso contrario se ejecutará el segundo bloque de código.
var hasComido : Bool = false
if !hasComido {
print ("Puedes pasar y comer")
}else{
print ("Sólo pueden pasar aquellas personas que todavía no han comido")
}
Es un Operador Binario que requiere de dos argumentos booleanos. Obtendremos el resultado verdadero (true) cuando cualquiera de los dos operandos son verdaderos, y falso (false) cuando los dos operandos son falsos
Supongamos un ejemplo en el que evaluaremos si podemos comprar un artículo, para lo cual basta que tengamos suficiente saldo en efectivo o en el banco.
var suficienteSaldoEfectivo = true
var suficienteSaldoBanco = false
if suficienteSaldoEfectivo || suficienteSaldoBanco {
print("Puedes comprar el artículo")
}else{
print("No puedes comprar el artículo")
}
Efectivamente, como una de los dos operandos es true, entonces el resultado de la Operación O Lógico es también true
Al igual que otros Operadores Matemáticos, podemos encadenar varios Operadores Lógicos.
Retomamos el ejemplo anterior en el que podíamos comprar un artículo si teníamos suficiente saldo en efectivo o en el banco. Pero ahora queremos añadir otra condición: Sólo podremos comprar si además somos Socios de la tienda.
var suficienteSaldoEfectivo = true
var suficienteSaldoBanco = false
var eresSocio = true
if (suficienteSaldoEfectivo || suficienteSaldoBanco) && eresSocio {
print("Puedes comprar el artículo")
}else{
print("No puedes comprar el artículo")
}
El resultado de suficienteSaldoEfectivo || suficienteSaldoBanco es true y el valor de eresSocio también es true. Por lo que el resultado de true && true también es true.
Hay que tener especial precaución con el uso de los paréntesis ya que puede cambiar el resultado de la operación según como los coloquemos.