A apple abriu o código-fonte de sua nova linguagem de programação, Swift. Venho trabalhando há alguns meses no ambiente Mac OS estudando e desenvolvendo para iOS com esta linguagem. Quero compartilhar um pouco do que já aprendi com ela. Pretendo criar uma sequência de posts falando sobre Swift.
Defina um nome e o tipo de projeto desejado. Para este exemplo usarei o iOS.
Feito isto basta salvar em algum local, pode ser até mesmo em seu Desktop (Mesa).
O playground do Xcode é uma área onde o desenvolvedor pode testar elementos, realizar tratamentos de respostas de APIs, tratar uma coleção de registros e muito mais. Sempre que precisar criar algo que não tenha certeza do funcionamento, o playground é uma excelente saída. Acredita que somente ao escrever este post eu me dei conta desta ferramenta... quantos e quantos testes eu fiz rodando a aplicação no emulador... Enfim, o playground fornece um editor de código Swift e ao lado direito um live preview. Isso mesmo, tudo o que você faz no editor, automaticamente é exibido no lado direito, não é o máximo?!
Perfeito, até aqui você conheceu o playground do Xcode, sua aplicação e funcionalidades, vamos agora conhecer um pouco mais da linguagem Swift. Neste post falarei sobre:
var minhaVariavel = "Uma string qualquer"Não estando no playground, o Xcode é bem chato com relação ao uso de variáveis e constantes (que serão vistas mais adiante) e neste caso em específico iria me retornar duas sugestões. A primeira sugestão seria eu transformar esta variável em uma constante, visto que seu conteúdo não é alterado. A segunda sugestão é que eu a renomeie para _ (underline). Parece estranho mas o Xcode sempre vai lhe sugerir nomear uma variável ou constante como _. Isto porque ainda não está sendo usada em nenhum outro ponto do seu código. Assim que a utilizarmos a primeira vez, pode ser até mesmo para imprimir, o Xcode não sugere mais renomeá-la. Você também percebeu que eu não finalizei a linha com ponto e vírgula pois como mencionei, é opcional. Torna-se obrigatório somente se eu tenho duas instruções na mesma linha. Veja o exemplo abaixo.
var minhaVariavel = "Uma string"; var suaVariavel = "Outra string"Para que algo seja impresso no console (mesmo no playground), basta utilizar a função print(), nativa do swift. Esta função imprime qualquer coisa (variáveis, constantes, dicionários de dados, coleções e objetos). Use-a sempre que precisar. Seguindo o exemplo já dado:
var minhaVariavel = "Uma string qualquer" print(minhaVariavel) // Saída: "Uma string qualquer\n"
let pi = 3.1415Mas diferente de linguagens tradicionais onde você define constantes somente para casos específicos, em Swift o próprio Xcode lhe pedirá para definir como constante sempre que não existir alteração. Em outras palavras, seu código ficará sempre com muitas constantes, mas não se assuste, é a estrutura da linguagem mesmo e com o tempo você se acostuma.
var nome: String = "Andre Cardoso" let pi: Float = 3.1415Assim como em muitas linguagens de programação, em swift é possível utilizar os tipos nativos da linguagem e também seus próprios tipos, veja o exemplo.
class Pessoa {
var nome: String
var telefone: String
}
var pessoa: Pessoa = Pessoa()
O que você viu no código acima, Pessoa() é a criação de um objeto do tipo Pessoa. Para instanciar um objeto não é necessário a palavra new.
var variavelInicializada: String = "valor inicial" var variavelNaoInicializada: String?Desta forma eu digo ao swift que tudo bem, posso ou não inicializar esta variável, pode prosseguir. Pois bem, ao definir uma variável/constante como opcional, sempre que formos imprimí-la, o resultado será mais ou menos desta forma:
Ok, mas e se eu precisar exibir o resultado em produção (num App real) ou mesmo gravar no banco de dados? Basta que se adicione um ponto de exclamação ao utilizar a variável.
Neste caso, se a variável não foi inicializada ela simplesmente terá valor nil (nulo).
Além de declarar uma variável como opcional (?) também é possível forçar a inicialização da mesma utilizando ponto de exclamação (!).
Desta forma eu digo ao swift que eu sei o que estou fazendo e que em determinado momento esta variável será inicializada, confia em mim!
No entanto caso você esqueça de inicializá-la... já viu né?! Use sempre com muita cautela.