Objective-C: A Linguagem Por Trás Do iOS – Parte 2

Categorias: mobile

[Este artigo faz parte de uma série de artigos para desenvolvimento IPhone, IPad e iOS.
Você pode ver os demais artigos da série através da categoria Mobile]

Nessa parte 2 vamos continuar dando os primeiros passos e criando os primeiros exemplos com a linguagem Objective-C. Como discutido no primeiro artigo, essa linguagem veio evoluindo mas ainda mantém a linguagem C por trás dela, e é com isso que estamos criando nossos primeiros exemplos.

[Acompanhe a primeira parte desse artigo em http://flaviosilveira.com/2013/objective-c-a-linguagem-por-tras-do-ios-parte-1/]

Lição de casa da parte 1
No primeiro artigo deixei uma Lição de Casa que na verdade era uma pegadinha. Imprimir uma variável do tipo Boleana com o printf. Rapidamente o pessoal sacou e colocou nos comentários de que isso não existe. O Boolean ou Bool, aparece em linguagens mais modernas. Para utilizar isso com C, fazemos uma simulação usando por exemplo um inteiro (0 e 1) ou também definindo um tipo qualquer e usando enum.

Hoje vamos Criar algumas condicionais e alguns loops.
Não tem novidade para quem já programa em outras linguagens, basta checar a sintaxe.
Mas caso você não se encaixe nesse grupo, siga o artigo.

Caso não lembre onde testar o seu código, que arquivo estamos mexendo e etc, consulte a parte 1!

IF
O IF não é segredo. Traduzindo do inglês = SE.
Se a condição bater, executa o código entre as chaves. Veja o exemplo:

int valor = 5;
if(valor < 10)
{
    printf("Menor que dez!");
}

 

Definimos um variável inteira com valor 5. Se o valor for menor que 10, o printf é executado, caso contrário esse trecho é ignorado. Simples não?

Para fazer comparações com a variável de valor, você pode usar no lugar do menor:
> Maior
<= Menor ou Igual
>= Maior ou Igual
== Igual
!= Diferente

ELSE
Para os casos onde você quer executar algo quando o IF não bater, temos o ELSE. Traduzindo SENÃO.

int valor = 15;
if(valor < 10)
{
    printf("Menor que dez!");
}
else
{
    printf("Maior que dez!");
}

 

Alteramos o valor da variável para 15. Em seguida adicionamos um ELSE.
Como valor é Maior que 10, esse trecho é pulado e o que está dentro das chaves do ELSE é executado.

Combinando IFs e ELSEs
Você pode combinar o If com o Else quantas vezes quiser, como no seguinte exemplo:

int valor = 7;
if(valor == 7)
{
    printf("Valor Igual 7");
}
else if(valor < 10)
{
    printf("Um numero menor que dez!");
}
else
{
    printf("Um numero maior que dez!");
}

 

Alteramos a variável para 7, o que faz ela cair no primeiro IF. Caso contrário o código iria passando até bater com uma das condicionais. Caso não bata com nenhum das condições ela cai no último ELSE. Lembrando que esse ELSE final não é obrigatório.

SWITCH
É recomendado evitar o uso de muitas combinações de IF e ELSE, para ficar mais fácil de manter o código ou até para entendimento do mesmo. Veja o exemplo:

int valor = 16;
    
switch (valor) 
{
    case 7:
        printf("Sete!");
    break;
        
    case 9:
        printf("Nove!");
    break;    
        
    case 16:
        printf("Dezesseis!");
    break;    
        
    case 10:
        printf("Dez!");
    break;    
            
    default:
        printf("Outro!");
    break;
}

Entramos com o valor a ser analisado dentro do Switch.
Então usando o Case, entramos com as condicionais.
Caso não bata com nenhuma, temos a opção DEFAULT.

FOR
Quando temos a necessidade de executar uma ação várias vezes ou iterar um valor, surgem para nós os Loops.
E o FOR é um dos primeiros que encontramos.

for(int i = 0; i <= 10; i++)
{
    printf("Valor de i: %d", i);
}

 

Para entender o FOR, leia da seguinte maneira. i é igual a 0, enquanto i é menor ou igual que 10, vá aumentando i.

Esse i++, significa que estamos somando 1 ao valor de i, chamamos isso de incremento. Teremos mais detalhes sobre isso em próximos artigos.

Está é a maneira mais simples do FOR. Temos outros variações, mais complexas, com mais, com menos parâmetros.
Mas se você está começando fique com essa por enquanto.

WHILE
While, que traduzindo significa enquanto, é uma outra opção de loop. Veja o exemplo:

int i = 0;
while (i <= 10) 
{
    printf("Valor de i: %d", i);
    i++;
}

 

Seguindo a mesma ideia do FOR, definimos o valor de i, mas dessa vez for da função. Enquanto i for menor igual que 10, o que temos dentro das chaves do while será executado.

Cuidado! Não esqueça de somar 1 ao valor de i cada vez que passarmos dentro do while.
Caso contrário teremos um loop infinito, e isso irá exceder o limite de memória e te causar problemas.

No exemplo acima, se i fosse por exemplo 15, o WHILE não seria executado nenhuma vez.

Há situações onde precisamos executar ao menos uma vez o loop, mesmo que o valor não bata. Para essas situações temos o DO WHILE.

DO WHILE

int i = 15;
    
do 
{
    printf("Valor de i: %d", i);
    i++;
}
while (i <= 10); 

O código é executado uma vez, independente se o valor bate com a condicional ou não.

No exemplo acima, como o valor está setado para 15, ele já não bate com nosso WHILE que pede um número menor igual a 10. Mesmo assim o código é executado uma vez, por conta do DO, traduzindo FAÇA. 

Resumindo
Os exemplos são bem simples e ainda não refletem exemplos muito reais. São exemplos fáceis de entender para que venham no futuro encaixar em problemas que você vai encontrar. 

Pratique, mude valores das variáveis, faça seus exemplos, crie outras situações.
Esse é o caminho nesse estágio.

Até o próximo!


Comments