IF

Como en todos los lenguajes de programación es necesario disponer de estructuras de control que permitan gestionar el flujo de la aplicación, para ellos contamos con varias herramientas empezaremos con el if.

La sentencia condicional por antonomasia, veamos su estructura básica y algunos ejemplos.

        /*
         if(condición){
            Código si cumple la condición
         }else{
            Código si no cumple la condición
         }
        */
Como podemos ver tenemos una condición a cumplir y el código en el caso de que cumpla la condición y en el caso de que no lo haga. 
Por supuesto no es necesario disponer siempre de un else en la sentencia.

        int i=1;
        if(i<2){
            NSLog(@”i es menor que 2!”);
        }

Aunque lo más normal es que sea completa como en el siguiente ejemplo:

        if(i<2){
            NSLog(@”i es menor que 2!”);
        }else{
            NSLog(@”i no es menor que 2!”);
        }
      
También disponemos de la posibilidad de tener un else if con una condición extra:
        i=3;
        
        if(i<2){
            NSLog(@”i es menor que 2!”);
        }else if (i==2){
            NSLog(@”i es igual a 2!”);
        }else{
            NSLog(@”i es mayor que 2!”);
        }
      
Como en otros lenguajes tenemos la posibilidad de realizar una forma apocopada del if, en este caso estamos realizando una asignación sobre una variable en base a una condición, que el valor de una variable booleana:
        // if acortado
        BOOL unavar=true;
        int valordevuelto = unavar ? 15 : 20;
        NSLog(@”%d”,valordevuelto);

        //if sin abreviar

        if(unavar==true){
            valordevuelto=15;
        }else{
            valordevuelto=20;
        }

        NSLog(@”%d”,valordevuelto);

 Operadores de comparación y lógicos

Como en otros lenguajes es necesario conocer los operadores típicos de las condiciones, como son los operadores de comparación y los lógicos en base a las “tablas de verdad” de las operaciones principales, AND, OR y NOT.

        /*
         * Operadores de comparación
         
         < menor que
         > mayor que
         <= menor o igual
         >= mayor o igual
         == igual
         != distinto
         
         * Operadores lógicos
         
         AND &&
         
         p  q   p AND q
         0  0       0
         0  1       0
         1  0       0
         1  1       1
         
         OR  ||
         
         p  q   p OR q
         0  0       0
         0  1       1
         1  0       1
         1  1       1
         
         NOT !
         p  NOT p
         0      1
         1      0
         
         
        */
Aquí tenemos un ejemplo de uso de una doble condición con el operador AND.

        i=2;
        int j=2;
        if (i<=2 && j<4) {
            NSLog(@”Cumple las dos condiciones”);

        }

En el siguiente punto veremos otras sentencias de control.

Licencia Creative Commons