Swift
A nova linguagem da Apple
Desenvolvedor e instrutor
(iOS, Android, Java e Ruby)
Quem sou eu?
@fabiopimentel
github.com/fabiopimentel
var nome = “Fábio"
var nome = “Fábio"
tem um espaço
var nome = “Fábio"
nome = 10
var nome = “Fábio"
nome = 10
var nome = “Fábio"
var sobrenome: String = "Pimentel"
var nome = “Fábio"
var sobrenome: String = "Pimentel"
let brasileiro: Bool = true
var nome = “Fábio"
var sobrenome: String = "Pimentel"
let brasileiro: Bool = true
constante
var nome = “Fábio"
var sobrenome: String = "Pimentel"
let brasileiro: Bool = true
println(“(nome) de Lima (sobrenome) “)
var nome = “Fábio"
var sobrenome: String = "Pimentel"
let brasileiro: Bool = true
println(“(nome) de Lima (sobrenome) “)
I...
Classes
class Veiculo{
	
!
!
!
!
	
!
!
!
!
!
!
!
}
Veiculo.swift
class Veiculo{
	 var ano:Int
	 var valor:Double
	 var marca:String
	 var modelo:String
!
	
!
!
!
!
!
!
!
}
Veiculo.swift
class Veiculo{
	 let ano:Int
	 var valor:Double
	 let marca:String
	 let modelo:String
!
	
!
!
!
!
!
!
!
}
Veiculo.swift
class Veiculo{
	 let ano:Int
	 var valor:Double
	 let marca:String
	 let modelo:String
!
	 init(marca:String, modelo:Strin...
Objetos
var meuCarro = Carro(2014, "Audi", "A8")
var meuCarro = Carro(2014, "Audi", "A8")
var meuCarro = Carro(ano: 2014, marca: "Audi", modelo: "A8")
Contrato
protocol Tributavel{
	 	
!
	
!
!
!
!
!
!
}
Tributavel.swift
protocol Tributavel{
	 	
!
	 func calculaIPVA( ) -> Double
!
!
!
!
!
!
}
Tributavel.swift
protocol Tributavel{
	 	
!
	 func calculaIPVA( ) -> Double
!
!
!
!
!
!
}
Tributavel.swift
nome do método
protocol Tributavel{
	 	
!
	 func calculaIPVA( ) -> Double
!
!
!
!
!
!
}
Tributavel.swift
parâmetros
protocol Tributavel{
	 	
!
	 func calculaIPVA( ) -> Double
!
!
!
!
!
!
}
Tributavel.swift
retorno
Mais sobre classes …
class Veiculo{
	 let ano:Int
	 var valor:Double
	 let marca:String
	 let modelo:String
!
	 init(marca:String, modelo:Strin...
class Veiculo : Tributavel{
	 let ano:Int
	 var valor:Double
	 let marca:String
	 let modelo:String
!
	 init(marca:String,...
class Veiculo : Tributavel{
	 let ano:Int
	 var valor:Double
	 let marca:String
	 let modelo:String
!
	 init(marca:String,...
class Motocicleta : Veiculo{
!
	
!
!
!
}
Motocicleta.swift
class Motocicleta : Veiculo{
!
	 override func calculaIPVA( ) -> Double{
	 	 return valor * 0.03;
	 }
!
}
Motocicleta.swift
Mais sobre métodos …
class Motocicleta : Veiculo{
!
	 override func calculaIPVA( ) -> Double{
	 	 return valor * 0.03;
	 }
!
	 func calculaDepr...
var minhaMoto = Moto( )
!
minhaMoto.valor = 10_000.0
minhaMoto.marca = “Suzuki"
var minhaMoto = Moto( )
!
minhaMoto.valor = 10_000.0
minhaMoto.marca = “Suzuki"
minhaMoto.calculaDepreciacaoParaAno( 2016,...
Enumeration
enum Marca{
!
}
Marca.swift
enum Marca{
!
	 case Yamaha, Honda, Suzuki, Kawasaki
}
Marca.swift
var marcaDaMoto = Marca.Yamaha
!
marcaDaMoto = .Suzuki
Array
var carros = [“Gol”, “Jetta”, "Passat"]
var carros = [“Gol”, “Jetta”, "Passat"]
var carros: Array<String> = [“Gol”, “Jetta”, "Passat"]
var carros = [“Gol”, “Jetta”, "Passat"]
var carros: Array<String> = [“Gol”, “Jetta”, "Passat"]
Generics
var carros: Array<String> = [“Gol”, “Jetta”, “Passat"]
!
for carro in carros{
	 println( carro )
!
}
var carros: Array<String> = [“Gol”, “Jetta”, “Passat"]
!
for index in 0..1{
	 println( carro[index] )
!
}
var carros: Array<String> = [“Gol”, “Jetta”, “Passat”]
!
for index in 0..1{
	 println( carro[index] )
!
}
Gol
var carros: Array<String> = [“Gol”, “Jetta”, “Passat"]
!
for index in 0…1{
	 println( carro[index] )
!
}
var carros: Array<String> = [“Gol”, “Jetta”, “Passat"]
!
for index in 0…1{
	 println( carro[index] )
!
}
Gol
Jetta
Dictionary
var aeroportos: Dictionary<String, String> =
["SDU": "Santos Dumont", "CGH": "Congonhas"]
!
for (codigo, nome) in aeroport...
Live Coding
Upcoming SlideShare
Loading in …5
×

Introdução ao Swift

1,918 views

Published on

Apresentação da nova linguagem da Apple no CocoaHeadsRJ

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,918
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
78
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Introdução ao Swift

  1. 1. Swift A nova linguagem da Apple
  2. 2. Desenvolvedor e instrutor (iOS, Android, Java e Ruby) Quem sou eu? @fabiopimentel github.com/fabiopimentel
  3. 3. var nome = “Fábio"
  4. 4. var nome = “Fábio" tem um espaço
  5. 5. var nome = “Fábio" nome = 10
  6. 6. var nome = “Fábio" nome = 10
  7. 7. var nome = “Fábio" var sobrenome: String = "Pimentel"
  8. 8. var nome = “Fábio" var sobrenome: String = "Pimentel" let brasileiro: Bool = true
  9. 9. var nome = “Fábio" var sobrenome: String = "Pimentel" let brasileiro: Bool = true constante
  10. 10. var nome = “Fábio" var sobrenome: String = "Pimentel" let brasileiro: Bool = true println(“(nome) de Lima (sobrenome) “)
  11. 11. var nome = “Fábio" var sobrenome: String = "Pimentel" let brasileiro: Bool = true println(“(nome) de Lima (sobrenome) “) Interpolação
  12. 12. Classes
  13. 13. class Veiculo{ ! ! ! ! ! ! ! ! ! ! ! } Veiculo.swift
  14. 14. class Veiculo{ var ano:Int var valor:Double var marca:String var modelo:String ! ! ! ! ! ! ! ! } Veiculo.swift
  15. 15. class Veiculo{ let ano:Int var valor:Double let marca:String let modelo:String ! ! ! ! ! ! ! ! } Veiculo.swift
  16. 16. class Veiculo{ let ano:Int var valor:Double let marca:String let modelo:String ! init(marca:String, modelo:String, ano: Int){ self.marca = marca self.modelo = modelo self. ano = ano } ! ! ! } Veiculo.swift
  17. 17. Objetos
  18. 18. var meuCarro = Carro(2014, "Audi", "A8")
  19. 19. var meuCarro = Carro(2014, "Audi", "A8")
  20. 20. var meuCarro = Carro(ano: 2014, marca: "Audi", modelo: "A8")
  21. 21. Contrato
  22. 22. protocol Tributavel{ ! ! ! ! ! ! ! } Tributavel.swift
  23. 23. protocol Tributavel{ ! func calculaIPVA( ) -> Double ! ! ! ! ! ! } Tributavel.swift
  24. 24. protocol Tributavel{ ! func calculaIPVA( ) -> Double ! ! ! ! ! ! } Tributavel.swift nome do método
  25. 25. protocol Tributavel{ ! func calculaIPVA( ) -> Double ! ! ! ! ! ! } Tributavel.swift parâmetros
  26. 26. protocol Tributavel{ ! func calculaIPVA( ) -> Double ! ! ! ! ! ! } Tributavel.swift retorno
  27. 27. Mais sobre classes …
  28. 28. class Veiculo{ let ano:Int var valor:Double let marca:String let modelo:String ! init(marca:String, modelo:String, ano: Int){ //… } ! ! ! } Veiculo.swift
  29. 29. class Veiculo : Tributavel{ let ano:Int var valor:Double let marca:String let modelo:String ! init(marca:String, modelo:String, ano: Int){ //… } ! ! } Veiculo.swift
  30. 30. class Veiculo : Tributavel{ let ano:Int var valor:Double let marca:String let modelo:String ! init(marca:String, modelo:String, ano: Int){ //… } func calculaIPVA( ) -> Double{ return valor * 0.05; } ! } Veiculo.swift
  31. 31. class Motocicleta : Veiculo{ ! ! ! ! } Motocicleta.swift
  32. 32. class Motocicleta : Veiculo{ ! override func calculaIPVA( ) -> Double{ return valor * 0.03; } ! } Motocicleta.swift
  33. 33. Mais sobre métodos …
  34. 34. class Motocicleta : Veiculo{ ! override func calculaIPVA( ) -> Double{ return valor * 0.03; } ! func calculaDepreciacaoParaAno( ano: Int, comTaxa taxaDeDepreciacao: Double)-> Double{ //lógica omitida ! } ! ! ! } Motocicleta.swift
  35. 35. var minhaMoto = Moto( ) ! minhaMoto.valor = 10_000.0 minhaMoto.marca = “Suzuki"
  36. 36. var minhaMoto = Moto( ) ! minhaMoto.valor = 10_000.0 minhaMoto.marca = “Suzuki" minhaMoto.calculaDepreciacaoParaAno( 2016, comTaxa: 0.12)
  37. 37. Enumeration
  38. 38. enum Marca{ ! } Marca.swift
  39. 39. enum Marca{ ! case Yamaha, Honda, Suzuki, Kawasaki } Marca.swift
  40. 40. var marcaDaMoto = Marca.Yamaha ! marcaDaMoto = .Suzuki
  41. 41. Array
  42. 42. var carros = [“Gol”, “Jetta”, "Passat"]
  43. 43. var carros = [“Gol”, “Jetta”, "Passat"] var carros: Array<String> = [“Gol”, “Jetta”, "Passat"]
  44. 44. var carros = [“Gol”, “Jetta”, "Passat"] var carros: Array<String> = [“Gol”, “Jetta”, "Passat"] Generics
  45. 45. var carros: Array<String> = [“Gol”, “Jetta”, “Passat"] ! for carro in carros{ println( carro ) ! }
  46. 46. var carros: Array<String> = [“Gol”, “Jetta”, “Passat"] ! for index in 0..1{ println( carro[index] ) ! }
  47. 47. var carros: Array<String> = [“Gol”, “Jetta”, “Passat”] ! for index in 0..1{ println( carro[index] ) ! } Gol
  48. 48. var carros: Array<String> = [“Gol”, “Jetta”, “Passat"] ! for index in 0…1{ println( carro[index] ) ! }
  49. 49. var carros: Array<String> = [“Gol”, “Jetta”, “Passat"] ! for index in 0…1{ println( carro[index] ) ! } Gol Jetta
  50. 50. Dictionary
  51. 51. var aeroportos: Dictionary<String, String> = ["SDU": "Santos Dumont", "CGH": "Congonhas"] ! for (codigo, nome) in aeroportos{ println( “(codigo)-(nome)“) ! }
  52. 52. Live Coding

×