Hola Swift
Click here to load reader
-
Upload
software-guru -
Category
Software
-
view
675 -
download
0
description
Transcript of Hola Swift
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
[email protected] @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
Gracias