Você está na página 1de 40

Swift 4

Conteúdos

• O que é

• Swift vs Objective-C

• ARC
Conteúdos
• Swift

• Tipos de dados

• int

• String

• Float vs Double

• Literais


Conteúdos
• Swift

• Variáveis e constantes

• Criação e utilização

• Nomes legais

• Operações

• Tuplos


Conteúdos
• Swift

• Opcionais

• O que são?

• Opcionais vs Variável / Constante

• Criação

• Utilização

• Funções
Conteúdos
• Swift

• Colections

• Array

• Dicionários

• Sets


Conteúdos
• Swift

• for

• if

• switch/case

• while


Conteúdos
• Swift

• Classes

• Estruturas


O que é?
• Linguagem de desenvolvimento Apple

• Funciona com Cocoa e Cocoa Touch

• “Compatível” com Objective-C

• Inspirada em Objective-C, Ruby, Python, C#,


etc

• 1 versão publica 9/9/2014


O que é?

• Linguagem moderna

• Escrita eficiente
Swift vs Objective-C

• Necessidade de ;

• Objective-C -> obrigatório

• Swift -> não obrigatório


Swift vs Objective-C
• Declaração de variáveis

• Objective-C

• tipo nome=valor;

• Swift

• var nome:tipo = valor


Swift vs Objective-C
• Declaração de variáveis (String)

• Objective-C

• NSString *titulo = @“E tudo o vento levou”;

• Swift

• var titulo:String = “E tudo o vento levou”


Swift vs Objective-C
• Declaração de métodos

• Objective-C

• modificador(retorno) nome { }

• Swift

• modificador func nome() ->retorno { }


Swift vs Objective-C
• Declaração de métodos

• Objective-C
- (NSMutableArray*)getBusStops:(NSString*)busStop forTime:(NSSTimeInterval*)timeInterval;

• Swift

• modificador func nome(a:Int) ->Int { }


Swift vs Objective-C
• declaração de Classes

• Objective-C

• someObject *myobj = [[someObject


alloc]init];

• Swift

• var myobj = someObject()


ARC

• ARC = Automatic reference counting

• Limpeza de memoria automatica

• Não disponível em Objective-C


Swift

• Tudo são Objectos


Playground
o que é?

• Ambiente interativo de programação

• Parte integrante do Xcode


Utilizações

• Aprender uma nova linguagem

• Criação de protótipos

• Testar scripts
Alternativa online
Como criar um
projecto Playground
Swift

• Demonstração
Swift

• Criação de Variáveis (Inferred data type )

• var name = value:


var a = 10
var b = "ola mundo"
var c = true
Swift

• Criação de constantes (Inferred data type )

• let name = value:


let a = 10
let b = "ola mundo"
let c = true
Swift
• Criação de var/let com tipo definido
explicitamente

• var name:dataType

let inteiro:Int
let bool:Bool
var doable:Double
let float:Float
var str:String
Swift

• Operações com var/let

var soma = 2+2


var div = 2/2
var multip = 3*2
var resto = 10%3
Swift

• Controlo de fluxo

• If

• Switch
Swift

• Controlo de fluxo - > if

if condition {
code
}
Swift

• Controlo de fluxo - > if

if true {
//do something
}
Swift

• Controlo de fluxo - > switch

switch Value {
case pattern:
code
default:
code
}
Swift

• Controlo de fluxo - > switch

switch a {
case 1:
//do something
case 2:
//do something
default:
//do something else
}
Demo
Demo
Swift

• Loops

• for

• while
Swift

• Loop - > for

for a in collection{

//do something

}
Swift

• Loop - > while

while true{

//do something

Você também pode gostar