<p class="p1">Nesse artigo vamos ver conceitos básicos, de forma bem objetiva para que possamos iniciar os estudos da iOS SDK. Não vamos ser detalhistas, mas vamos apresentar o básico para que os trabalhos com a iOS SDK se tornem mais simples.</p> <p class="p1">Lembrando que novos desenvolvedores nos ecossistemas iOS e OS X muitas vezes se confundem com a relação entre Objective-C, Cocoa (OS X), and Cocoa-Touch (iOS). O que é Cocoa-Touch e como ele se relaciona com o Objective-C? Cocoa-Touch é uma API (application programming interface) nativa da Apple para as plataformas iOS e OSX.</p> <p class="p1">Objective-C é a linguagem que dá os poderes à Cocoa-Touch. Enquanto esse artigo se concentra principalmente na programação em Objective-C, em artigos futuros nós veremos um pouco mais sobre Cocoa e Cocoa-Touch.</p> <h3>Variáveis</h3> <p class="p1">Variáveis são usadas para armazenar dados temporariamente. Em Objective-C as variáveis possuem tipos, pois é uma linguagem tipada. Vejamos alguns desses tipos:</p> <ul> <li><strong>int</strong> - para inteiros (números sem ponto decimal)</li> <li><strong>char</strong> - para cadeis de caracteres</li> <li><strong>float</strong> - para números com pontos decimais</li> <li><strong>double</strong> - como float, porém, mais preciso</li> </ul> <p class="p1">Quando precisamos inserir os valores de uma variável no meio de uma string em Objective-C nós usamos um formato específico de variáveis, veja a seguir:</p> <ul> <li><strong>%i - </strong>inteiros</li> <li><strong>%f - </strong>float</li> <li><strong>%e - </strong>double</li> <li><strong>%c - </strong>char</li> </ul> <p class="p1">No bloco de código abaixo está a sintaxe usada para essa situação:</p> <p><code>int someNumber = 987;<br />printf("Meu número é %i n", someNumber);</code></p> <p class="p1">Quando chamamos <strong>printf</strong>, passamos a string com o formato de variável <strong>%i</strong>, que corresponde à variável informada logo após a string, <strong>someNumber.</strong> Na hora de executar o comando, o compilador vai substituir o <strong>%i</strong> pelo valor da variável.</p> <h3><strong>Condicionais</strong></h3> <p class="p1">As condicionais, também conhecidas como desvios condicionais, são utilizadas na tomada de decisões dentro de uma aplicação. A mais conhecida e utilizada é <strong>if/else</strong>, que verifica uma condição e se for favorável executa um bloco de código, senão, executa outro.</p> <p><code>int numA = 1;<br />int numB = 2;<br />if(A == B)<br />{<br />    //se A for igual a B executa o código que estiver aqui<br />}<br />else<br />{<br />    //se for diferente, então executa o código que estiver aqui<br />}</code></p> <h3>Loops</h3> <p class="p2">Os loops são uma forma de executar operações repetidas vezes, mas determinando quando parar, através de uma condição. Temos 3 loops para utilizarmos: <strong>for, while</strong> e <strong>do</strong>.</p> <p class="p1">Vejamos cada um deles com um exemplo:</p> <p class="p1"><strong><em><strong>Loop for:</strong></em></strong></p> <p class="p2">O loop <strong>for</strong> verifica a condição logo no início, e se ela for verdadeira, então executa o bloco de código.</p> <p class="p1"><code>for(x = 0; x < 1; x++)<br />{<br />    printf("Contagem: %i n", x);<br />}</code></p> <p> </p> <p class="p1"><strong><em>Loop while</em></strong></p> <p class="p1">O <strong>while</strong> funciona praticamente da mesma forma que o <strong>for</strong>, verificando a condição antes da execução do bloco de código.</p> <p class="p1"><code>while(x < 10)<br />{<br />    printf("Contagem: %i n", x);<br />    x++;<br />}</code></p> <p> </p> <p class="p1"><strong><em>Loop do</em></strong></p> <p class="p1">O <strong>do</strong> é different do <strong>for</strong> e do <strong>while</strong>, pois ele executa o block a primeira vez e só depois verifica a condição.</p> <p class="p1"><code>do<br />{<br />    x++;<br />    printf("Contagem: %i n", x);<br />}<br />while(x < 10);</code></p> <p class="p1"> </p> <h3><strong>Classes da framework Foundation</strong></h3> <p class="p1">A framework Foundation possui diversas classes, com métodos robustos e é a mais utilizada no desenvolvimento com Objective-C para iOS. Vejamos a seguir 5 classes usadas frequentemente por desenvolvedores:</p> <ul> <li><strong>NSString -</strong> usada para textos imutáveis</li> <li><strong>NSMutableString - </strong>usada para textos mutáveis</li> <li><strong>NSArray</strong> - array de objetos imutáveis</li> <li><strong>NSMutableArray</strong> - array de objetos mutáveis</li> </ul> <p class="p2">Com essas classes podemos acessar metódos delas e também definirmos o tipo de variáveis. A diferença entre as mutáveis e as imutáveis é que as imutáveis não podem ter o valor alterado, já as mutáveis podem ter o valor alterado. Na prática fica mais entender esse conceito, quando entrarmos nos estudos da iOS SDK, veremos mais claramente.</p> <p class="p1">Depois dessa inundação de informação apenas sobre Objective-C, vamos começar a estudar a iOS SDK. Nos próximos artigos veremos mais sobre Objective-C, mas agora combinado com a iOS SDK e com exemplos mais reais, não só no console.</p>