Tutorial iOS – Estruturas em Swift
No post de hoje iremos abordar estruturas já conhecidas porem com novidades:
– For
A principal novidade na estrutura FOR do Swift em relação a existente no Objective C, é a função enumerate() a seguir temos um exemplo, em que um Array é percorrido e em cada interação o Objeto e seu índice são retornados:
for (index, car) in enumerate(cars) { println("O carro de índice: \(index) é \(car)") }
a seguir um outro modo de utilizar o for, embora seja mais simples é muito útil, onde o for percorre de 0 até 9 ou seja, 10 iterações.
for i in 0..<10 { print(i) }
Substituindo o simbolo de menor (<) por um ponto (.) garantimos que todos os índices sejam percorridos, o exemplo ficaria assim:
for i in 0...10 { print(i) }
– Switch
A estrutura switch sofreu grandes mudanças e ficou mais inteligente, não há mais a necessidade de colocar o termo break ao final de cada opção, ele é encerrado automaticamente. Caso seja necessário manter-se dentro da estrutura, mesmo após encontrar um termo igual, utiliza-se o termo fallthrough que tem seu funcionamento inverso ao break.
switch car { case "Gol": printf("O Carro selecionado é o Gol!") fallthrough case "Kombi", "Brasilia": printf("Carro velho!") default: printf("Nenhum carro encontrado") }
Além de poder fazer comparações com mais de uma variável, conforme foi mostrado a cima, é possível fazer verificações de variáveis que tem seus valores definidos em tempo de execução.
– Classes
Para declarar uma classe, basta definir o tipo da classe seguido do termo class em seguida o seu nome. Além disso, é possível herdar informações de outra classe, basta apenas colocar dois pontos (:) e o nome da classe, conforme mostrado a seguir:
import UIKit public class Car : NSObject { }
Podemos iniciar a função de duas maneiras, a default e a conveniente.
init (carName: NSString) { println(carName) super.init() } convenience override init() { self.init(carName:"Gol") }
– Funções
A seguir temos os tipos de funções que podem ser utilizadas em Swift
– Função de Classe
class func printCarName() { println(carName) }
– Função Simples
Uma função simples não possui valores de entrada e também não retorna nada, de forma bem simples podemos utilizar semelhante ao código a seguir:
func helloWorld(){ println ("Oi swift") }
– Função com retorno
Uma função pública, que pode ser acessada por qualquer classe que acesse esse objeto, que retorna uma variável do tipo NSString ficar assim:
public func getName() -> NSString { return "Conrado" }
– Função com valores de entrada
Uma função interna, que só pode ser utilizada por classes quer herde esse objeto, com dois valores de entrada e o resultado como retorno:
internal func soma(valueA : Int, valueB : Int) -> Int { return valueA + valueB }
– Função retornando uma tupla
Uma função privada, que só pode ser chamada por essa classe, que retorne uma tupla:
private func getSpeedAndAccelerate() -> (speed : Double, acc : Double) { return (120, 20) }
No próximo post iremos abordar os protocolos e extensões..
Mandem dúvidas, sugestões de post ou críticas para o e-mail: contato @ conradocarneiro.com
até a próxima,
Conrado Carneiro