Swift: Tutorial iOS – Apresentação
Apresentada pela Apple na WWDC de 2014 a nova Linguagem Swift surgiu com a promessa de tornar o desenvolvimento mais fácil, possibilitando que qualquer pessoa sem muitos conhecimentos possa desenvolver seu aplicativo.
A seguir iremos abordar algumas novidades da linguagem, lembrando que apenas o XCode 6 ou superior possui suporte a essa linguagem.
SWIFT NOVIDADES:
A primeira novidade e a mais comentada, foi a possibilidade de atribuir emoticons as variáveis e até mesmo utilizar os emoticons para nome de uma variável. Além disso caracteres orientais também podem ser utilizados. A seguir uma imagem exemplificando as novidades:
Para declarar variável utilizamos a estrutura var e não precisamos declarar o tipo da variável, caso queira, também é possível. A seguir dois exemplos de declaração de variáveis.
– Variável:
// Declaração de uma variável sem o tipo declarado explicitamente var pesoCarro = 2100.32 // Declaração de uma variável com o tipo declarado explicitamente var idade : int = 20
Devemos levar em consideração que em swift a utilização de ponto e virgula ao final de cada comando não é obrigatório, ficando a cargo do programador utilizar ou nao. Atenção: Diferentemente das variáveis as constantes são declaradas pelo termo let e não podem ter seus valores modificados após a primeira atribuição.
– Constante:
// Criando e atribuindo um valor a uma constante let velocidadeMax = 120 let sobreNome = “Carneiro"
Atenção:
Para definir uma string nessa nova linguagem basta colocar o valor desejado entre aspas, não é mais necessário a utilização do @, utilizado anteriormente em Objective C.
– Tuplas:
São conjuntos de valores que podem ser de diferente tipos, a seguir temos exemplos de duplas e como é feito o acesso ao seus valores.
let pessoa = (“Conrado”, 27) println (pessoa.0) // será impresso Conrado na tela.
Podemos também nomear os valores da Tupla, ficando da seguinte forma:
let pessoa = (nome: “Conrado”, idade: 27) println (pessoa.nome)
– Valores temporários:
Valores que podem não existir em algum momento devem ser identificados com o sinal de interrogação, ficando da seguinte forma:
var valorTemp: String? = “Bem Vindo, Conrado” println (valorTemp!)
Atenção:
A exclamação é chamado de operador Unweap, e é responsável em desempacotar o conteúdo existente dentro da variável temporária.
Outra forma de realizar o desempacotamento é utilizando a estrutura chamada Opcional binding, que reduz o custo para desempacotar.
if let value = valorTemp { println (value); }
– Listas:
Similar as outra linguagens, também apresenta estruturas de listas.
// Criando listas let listaCarros = [“Gol”, “Parati”, “Voyage”, “Fusca”] var listaVazia = [Double] ()<br>var listaCheia = [String](count: 2, repeatedValue: "Carro") // Adicionando itens a lista listaCheia[1] = “Kombi" listaCheia.append(“Palio") // Removendo<br><br>listaCheia.removeLast() listaCheia.removeAtIndex(1) listaCheia.removeAll(keepCapacity: false)
– Dicionários
var dicString = [String:String]() // Adicionando valores ao dicionário dicString[“Key"] = “chave” dicString[“value"] = “valor" // Removendo valores dicString[“Key”] = nil dicString.removeValueForKey(“valor”)
Atenção:
Lista e Dicionários que foram iniciados como constante NÃO podem ser alterados.
– Println (NSLog)
Em Objective-C utilizávamos a função NSLog para exibir uma informação no console de Debug, a função mudou de nome e sua utilização também.
ObjectiveC:
NSLog (@"O %@ irá para %@ amanha",pessoa, local);
Swift:
println ("O \(pessoa) irá para \(local) amanha")
No próximo post iremos abordar estruturas como switch, for e while.
Confira as dicas para fazer um aplicativo de sucesso listadas pela Usemobile.
Achei ela bem legal, pena que tem muito pouco conteúdo sobre essa nova linguagem disponível na internet.
Poderia ter mais, principalmente em português!
Iremos providenciar mais posts pro Blog sobre Swift
Muito boa a apresentação do Swift, vi que estão melhorando as ferramentas para utilização no Windows, quem sabe um dia a gente tenha uma IDE completa para o iOS no Windows também? Parabéns pelo conteúdo!