hola swift !

Post on 01-Nov-2014

666 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Conociendo el nuevo lenguaje de programación de Apple, Swift!

TRANSCRIPT

Hola Swift!

Sergio Brito @yacaFx

Developing Experiences

activ.com.mx

¿Quién soy?

CTO en Activ Developing Experiences

Adobe Certified Instructor & Expert

RIActive Community Manager

49ers Fan&Player

sergiobrito@activ.com.mx @yacaFx

Desarrollo

Capacitación

Consultoría

Developing Experiences

SwiftModerno e interactivo SeguroRápido y poderoso

Playgrounds Beta 2

Beta 2developer.apple.com/swift

Beta 2

http://goo.gl/xOos0X http://goo.gl/BclW5n

Beta 2

Documentación oficial: http://goo.gl/YCneJ1

Developer

Beta 2

;

Beta 2

Variables

var myVar: String = “Hola SG”

var myVar = “Hola SG”

var nombre = “Sergio”, apellido = “Brito”

Beta 2

Constantes

let myConst: String = “Hola SG”

let myVar = 7

Beta 2

Unicode

var 👻 = "Scary!"

var bear = “🐻"

let π = 3.1416

Beta 2

Concatenación

var 👻 = "Scary!"

var bear = “🐻"

var sopresa = bear + 👻

Beta 2

Interpolación de cadenas

let a = 5, b = 10

var resultado = "\(a) veces \(b) es \(a*b)”

// 2 veces 5 es 10

Beta 2

Arreglos

var cursos = [“html5”, “Swift”, “Android”]

println(cursos[1])

//Swift

Beta 2

Diccionarios

var ciudades<String, String> = [“Tabasco”: “Villahermosa”, “Tepic”: ”Nayarit”]

var ciudades = [“Tabasco”: “Villahermosa”, “Tepic”: ”Nayarit”]

println(ciudades[“Tabasco”])

// Villahermosa

Beta 2

Condiciones

 if comidas > 3    {       felicidad += 1    }    else    {       depresión += 1    }

Beta 2

Nil

var nombre: String? = “Sergio”

nombre = nil

Beta 2

Nil

var = nombre: String? = “Sergio”

nombre = nil

if let dato = nombre { println(“No es nil”) } else { println(“Si es nil”) }

Beta 2

Switch

switch(heroe){ case “batman”: println(“Comic Gratis”) case “Robin” println(“No hay comic”) }

var heroe = “Batman”

Beta 2

Switch

switch(heroe){ case “batman”: println(“Comic Gratis”) case “Robin”, “Ala Nocturna” println(“No hay comic”)

default: println(“Heroes no incliudos”) }

var heroe = “Batman”

Beta 2

Ciclos

var empresas = ["Apple", "Adobe", "Google", "BlackBerry", "SG"]

for empresa in empresas{ println(“La empresa es \(empresa)") }

Beta 2

Ciclos y Rangos

for numero in 1…4{ println(“ \(numero) vez de 4”) }

1 vez de 4 2 vez de 4 3 vez de 4 4 vez de 4

Beta 2

Ciclos y Diccionarios

let edades = [“Hugo”:”20”,“Paco”:”23”,“Luis”:”25”,]

for (persona, edad) in edades{ println(“ \(persona) tiene \(edad) años”) }

Hugo tiene 20 años Paco tiene 23 años Luis tiene 25 años

Beta 2

Funciones

func saludar( ){ println(“Bazinga!”) }

Beta 2

Funciones

func saludar( ){ println(“Bazinga!”) }

saludar( )

Beta 2

Funciones y parámetros

func saludar(nombre: String ){ println(“Hola \(nombre)”) }

saludar(“Pancho Pistolas”)

//Hola Pancho Pistolas

Beta 2

Funciones y parámetros por default

func saludar(nombre: String = “a todos”){ println(“Hola \(nombre)”) }

saludar()

//Hola a todos

Beta 2

Funciones y retorna valores

func saludar(nombre: String = “a todos”) -> String{ return “Hola ” + nombre }

let saludos = saludar()

Beta 2

Funciones y retorna valores

func saludar(nombre: String = “a todos”) -> String{ return “Hola ” + nombre }

//let saludos = saludar() let saludos: String = saludar()

Beta 2

Funciones y retorna valores

func saludar(nombre: String = “a todos”) -> String{ return “Hola ” + nombre }

let saludos = saludar()

println(saludos)

//Hola a todos

Beta 2

Funciones y Tuplas

func calculos() -> (String, Int){ //calculos…. return (“Total”, 132) }

Beta 2

Funciones y retornar múltiples valores

func calculos() -> (String, Int){ //calculos…. return (“Total”, 132) }

let (mensaje, cantidad) = calculos()

println("El \(mensaje) es: $ \(cantidad) pesos")

//El total es: $132 pesos

Beta 2

Funciones y retornar valores nombrados

func calculos() -> (mensaje: String, cantidad: Int){ //calculos…. return (“Total”, 132) }

let resultado = calculos()

println("El \(resultado.mensaje) es: $ \(resultado.cantidad) pesos")

//El total es: $132 pesos

Beta 2

Clases

class Transporte{

}

Beta 2

Herencia

class Transporte{

}

class Bici: Transporte{

}

Beta 2

Propiedades

class Transporte{ var llantas = 0 }

Beta 2

Propiedades Calculadas / Computed Properties

class Transporte{ var llantas = 0 var descripcion: String { get { return “Tiene \(llantas) llantas" } } }

Beta 2

Propiedades Calculadas / Computed Properties

class Transporte{ var llantas = 0 var descripcion: String {

return “Tiene \(llantas) llantas" }

Beta 2

Instancias

let miTransporte = Transporte()

let miTransporte: Transporte = Transporte()

Beta 2

Sintaxis de puntos

let miTransporte = Transporte()

println(miTransporte.descripcion)

Beta 2

Override

override var descripcion: String { return super.descripcion + ", \(velocidad) kmh" }

Beta 2

Estructuras

struct tamaño { var ancho, alto: Double }

Beta 2

Struct o Class?

a. Una estructura no puede heredar b. Estructura paso por valor c. Clase paso por referencia

Beta 2

También…

b. Generics struct Stack<T>{ … }

a. Property observers willSet {}didSet {}

Beta 2

También…

c. Extensions extension tamaño { func incrementar(factor: Int) { ancho *= factor alto *= factor }}

Esto es Swift!Moderno e interactivo SeguroRápido y poderoso

Playgrounds Beta 2

Beta 2developer.apple.com/swift

Developing Experiences

sergiobrito@activ.com.mx

@yacaFx

Q&A

activ.com.mx

@activmx

Gracias

top related