Tutorial iOS – Estruturas em Swift

On 26 de novembro de 2014 by Conrado Carneiro

Apple_Swift_Logo

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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *