TIENE EN SU CESTA DE LA COMPRA
en total 0,00 €
Swift ha supuesto una auténtica revolución para los desarrolladores de iOS y OS X. Se trata de un lenguaje de programación completamente nuevo que suma millones de seguidores entre los desarrolladores de la manzana mordida.
Basado en los exitosos cursos de programación de Big Nerd Ranch, este libro guiará al lector con explicaciones claras y ejemplos prácticos. Aprenderá la gramática del lenguaje Swift 2.0 y los elementos que definen un estilo efectivo de programación. También le sacará el máximo partido a Xcode 7 y a la documentación de Apple. 
Dirigido a desarrolladores de todos los niveles, cuenta con ejemplos prácticos para que el lector adquiera los conocimientos y la confianza necesaria para desarrollar código de calidad, más legible y fácil de mantener.
Big Nerd Ranch es una conocida compañía de formación, consultoría y publicaciones. Especializada en el diseño y desarrollo de aplicaciones innovadoras para clientes de todo el mundo, entre los que se encuentran las principales empresas del Fortune 100. Sus cursos de formación de Swift, iOS, OS X, Cocoa, Android, Ruby o Ruby on Rails, JavaScript, HTML5 o UX/UI son los más prestigiosos y solicitados por los desarrolladores y empresas. Sus publicaciones tecnológicas son las más famosas del mundo.
Agradecimientos
Introducción
  Cómo aprender Swift
  ¿Dónde queda Objective-C?
  Requisitos previos
  Cómo está organizado el libro
  Cómo usar este libro
  Desafíos
  ¿Le pica la curiosidad?
  Convenciones tipográficas
   - Código fuente
  Requisitos de hardware y software
  Antes de comenzar
Parte I. Primeros pasos
1. Primeros pasos
  Primeros pasos con Xcode
  Jugando en el playground
  Cómo modificar las variables e imprimir por consola
  Ya estamos en camino
  Desafío para medalla de bronce
2. Tipos, constantes y variables
  Tipos
  Constantes frente a variables
  Interpolación en cadenas de caracteres o concatenación
  Desafío para medalla de bronce
Parte II. Aspectos básicos
3. Condicionales
  if/else
  Operador ternario
  Instrucciones if anidadas
  else if
  Desafío para medalla de bronce
4. Números
  Enteros
  Cómo crear instancias de enteros
  Operaciones con enteros
   - División de enteros
   - Abreviatura de operadores
   - Operadores de desbordamiento
  La conversión entre tipos enteros
  Números decimales o de coma flotante
  Desafío para medalla de bronce
5. Switch
  La instrucción switch
  Nuestro primer switch
   - Rangos
   - Vinculación de valores
   - Instrucciones ´where´
   - Tuplas y correspondencia de patrones
  Switch frente a if/else
  Desafío para medalla de bronce
6. Bucles
  Bucles for-in
   - Bucle for case
  Una nota rápida sobre la inferencia de tipos
  Bucles for
  El bucle while
  Bucles repeat-while
  Resumen de las instrucciones de transferencia de control
  Desafío para medalla de bronce
7. Cadenas de caracteres
  El trabajo con cadenas
  Unicode
   - Escalares Unicode
   - Equivalencia canónica
  Desafío para medalla de plata
8. Opcionales
  Tipos opcionales
  Vinculación de opcionales
  Opcionales desencapsulados de forma implícita
  Concatenación de opcionales
  Cómo modificar un opcional allí donde esté
  El operador ´nil coalescing´
  Desafío para medalla de plata
Parte III. Colecciones y funciones
9. Arrays
  Cómo crear un array
  Cómo acceder y modificar los elementos del array
  Igualdad de arrays
  Arrays inmutables
  Documentación
  Desafío para medalla de bronce
  Desafío para medalla de plata
10. Diccionarios
  Cómo crear un diccionario
  Cómo rellenar un diccionario
  Cómo acceder y modificar un diccionario
  Cómo añadir y eliminar valores
  Bucles
  Diccionarios inmutables
  Cómo pasar información de un diccionario a un array
  Desafío para medalla de plata
11. Conjuntos
  ¿Qué es un conjunto?
  Cómo crear un conjunto
  Cómo trabajar con conjuntos
   - Uniones
   - Intersección
   - Conjuntos disjuntos
  Desafío para medalla de bronce
  Desafío para medalla de plata
12. Funciones
  Una función básica
  Los parámetros de las funciones
   - Nombres de los parámetros
   - Parámetros variádicos
   - Valores de parámetro predeterminados
   - Parámetros in-out
  Valor de retorno de una función
  Funciones anidadas y ámbito de una función
  Retornos múltiples
  Tipos de retorno opcionales
  Salida prematura de una función
  Los tipos de las funciones
  Desafío para medalla de bronce
  Desafío para medalla de plata
13. Closures
  Sintaxis de una clausura
  Sintaxis de las expresiones de las clausuras
  Funciones como tipos de retorno
  Funciones como argumentos
  Valores de captura de las clausuras
  Las clausuras son tipos de referencia
  Programación funcional
  Funciones de orden superior
   - map(_:)
   - filter(_:)
   - reduce(_:combine:)
  Desafío para medalla de oro
Parte IV. Enumeraciones, estructuras y clases
14. Enumeraciones
  Enumeraciones básicas
  Enumeración de valores primarios o en bruto
  Métodos
  Valores asociados
  Enumeraciones recursivas
  Desafío para medalla de bronce
  Desafío para medalla de plata
15. Estructuras y clases
  Un nuevo proyecto
  Estructuras
  Métodos de instancia
   - Métodos mudables
  Clases
   - La clase Monster
   - Herencia
  Nombres de parámetro en los métodos
  ¿Qué debería usar?
  Desafío para medalla de bronce
  Desafío para medalla de plata
  Para los más curiosos: métodos de tipo
  Para los más curiosos: currificación de funciones
16. Propiedades
  Propiedades almacenadas básicas
  Tipos anidados
  Propiedades almacenadas ´perezosas´
  Propiedades calculadas
   - Un getter y un setter
  Observadores de propiedad
  Propiedades de tipo
  Control de acceso
   - Control de la visibilidad de los getter y setter
  Desafío para medalla de bronce
  Desafío para medalla de plata
  Desafío para medalla de oro
17. Inicialización
  Sintaxis de un inicializador
  Inicialización en las estructuras
   - Inicializadores predeterminados en las estructuras
   - Inicializadores personalizados en las estructuras
  Inicialización en las clases
   - Inicializadores predeterminados para clases
   - Inicialización y herencia de clases
   - Inicializadores obligatorios para clases
   - Desinicialización
  Inicializadores falibles
   - Un inicializador falible para Town
   - Inicializadores falibles en clases
  Progresar con la inicialización
  Desafío para medalla de plata
  Desafío para medalla de oro
  Para los más curiosos
18. Tipos de valor frente a tipos de referencia
  Semántica en los tipos de valor
  Semántica de referencias
  Tipos de valor y tipos de referencia en constantes
  Cómo usar conjuntamente los tipos de valor y de referencia
   - Tipos de referencia inmutables
  Copias
  Identidad frente a igualdad
  Qué debemos usar
Parte V. Swift avanzado
19. Protocolos
  Formatear una tabla de