Detalle del libro
Ver Índice
Introducción
Qué necesita
Cómo está organizado este libro
Código de ejemplo
Cómo conseguir el código de ejemplo
Cómo contribuir
Acceder a Git
Acceder a GitHub
Contactar con el autor
1. Bienvenido, iOS SDK
Instalar Xcode
iOS SDK
Servicios gratuitos
iOS Developer Program (Individual y Company)
Developer Enterprise Program
Developer University Program
Registro
iTunes U y cursos en línea
Herramientas iOS SDK
Probar las apps: Simulador y dispositivos
Limitaciones del simulador
Conexión
Dispositivo iOS
- Almacenaje
- Acceso a los datos
- Memoria
- Interacción
- Energía
- Aplicación
Comportamiento de usuario
Diferencias entre los modelos
Tamaño de pantalla
Cámara
Audio
Telefonía
Diferencia entre Core Location y Core Motion
Vibración y proximidad
Velocidad del procesador
OpenGL ES
iOS
Resumen
2. Objective-C Boot Camp
Crear Hello World con una plantilla
Crear el proyecto Hello World
Descripción de la interfaz del proyecto Xcode
Añadir la etiqueta Hello World
Objective-C Boot Camp
Lenguaje de programación Objective-C
- Invocar funciones: Envío de mensajes
Clases y objetos
Definir la implementación
Crear objetos
Heredar métodos
Apuntar a objetos
App CarValet: Implementar la clase Car
Implementar métodos Car
- Inicializador básico
- Métodos de acceso
Propiedades
- Encapsulación
- Notación de punto
Crear e imprimir Cars
Propiedades: Dos características más
Getters y setters especiales
- Atómico y no atómico
Subclases y herencia: Un reto
Herencia y subclases
Resumen
Ejercicios
3. Guiones gráficos
Fundamentos básicos del guión gráfico
Escenas
Escena 1: Crear la escena Add/View
Añadir los elementos visuales para Add/View
- Añadir la primera etiqueta: Guías de Xcode
Añadir los comportamientos iniciales de Add/View
- IBAction y IBOutlet
- Crear un outlet
- Crear una acción
- Escena 1: Terminar de añadir outlets y acciones
- Breve inciso sobre la gestión de memoria
- Añadir coches nuevos
Añadir comportamientos de Car Display
Añadir los botones Previous and Next Car
Escena 2: Añadir un editor
Añadir los elementos visuales del editor
Añadir comportamientos al editor
Conectar todo
- Transiciones
- El método mágico: prepareForSegue:sender:
¿Por qué no utilizar el segue en sentido inverso?
Mejorar el guión gráfico: Toma 1
Intercambiar datos mediante un protocolo
- Modificar la clase ViewController
Mejorar el guión gráfico: Toma 2
Resumen
Ejercicios
4. Auto Layout
Fundamentos de Auto Layout
Restricciones
- Píxeles y puntos
- Relaciones de restricción
- Crear restricciones
- Explorar restricciones en el IB
- Ajustar los píxeles
- Añadir restricciones desde la barra de herramientas
Elemento de definición de la barra de herramientas
Modificar los valores de las restricciones
Arrastrar restricciones
Perfeccionar la orientación vertical
Contemplar las restricciones
Completar la especificación
- Tamaño intrínseco del contenido
Añadir/Ver coches: Diseñar e implementar las restricciones
- Los tres grupos Add/View Car
- Diseñar las restricciones para las vistas de nivel superior
- CH04 CarValet Starter: Modern Objective-C
- Implementar las restricciones para la vista de nivel superior
- Previsualizar las restricciones
- Abrir dos vistas previas asistentes
- Diseñar e implementar las restricciones para Add Car
- Localizar problemas en las restricciones
- Restricciones y contenido
- Diseñar e implementar las restricciones para View Car
- Opciones de resolución de problemas de Auto Layout
- Ajustar la altura de pantalla
Edit Car: Introducción
Añadir la orientación horizontal
Añadir y ver coches: Diseñar las restricciones para la orientación horizontal
- Diferencias en las restricciones de las vistas de nivel superior
- Localizar las restricciones que se deben modificar
- Añadir referencias a las restricciones cambiantes
- Crear restricciones horizontales: lenguaje visual de restricciones
- Crear restricciones horizontales: Código
- Añadir las restricciones horizontales
- Reunir todo
- Restringir a las partes superior o inferior de los contenedores
Un último problema para resolver
Resumen
Ejercicios
5. Localización
Fundamentos de la localización
Redirección
- Tablas de cadenas
Formatos
Preparar la app para la localización
Configurar la localización para la escena Add/View Car
- Simular la localización con cadenas dobles
- Localizar botones
- Localizar cadenas en Car Model
- Configurar la localización de la escena Edit Car
- Múltiples tablas de cadenas
Internacionalización en alemán
Añadir el idioma alemán
- Localizar el nombre de la app
- Añadir el nombre de la app en alemán
Cambiar el idioma del dispositivo
Actualizar a alemán el archivo Localizable.strings
Cambiar las restricciones de las etiquetas
Formato y lectura de los números
Derecha a izquierda: Internacionalización en árabe
Añadir cadenas en árabe
- Inicial, final y dirección del idioma
Funcionamiento de fechas y números
Alineación de texto
Resumen
Ejercicios
6. Desplazamiento
Fundamentos del desplazamiento
Desplazamiento con rebote
Añadir una vista de desplazamiento a la escena View/Edit
Gestionar el teclado
Añadir la vista de desplazamiento
- Añadir, configurar y actualizar la vista de formulario
Redimensionar para adaptarse al teclado
- Redimensionar la vista de desplazamiento
- Determinar la superposición: Frames
Añadir redimensionamiento
Desplazarse por el contenido
Rellenar la vista de desplazamiento
Añadir paginación
Añadir zoom
Rotación
¿Qué coche es este?
Resumen
Ejercicios
7. Controladores de navegación I: Jerarquías y tabuladores
Controlador de navegación
Clases del controlador de navegación
- Añadir una barra de herramientas
- Rellenar la barra de herramientas
- Retomar la localización
Navegación basada en mensajes
Algo de color
Controlador de barra de pestañas
Cómo funciona la barra de pestañas
CarValet: Añadir una barra de pestañas
- Trasladar imágenes de coches a la barra de pestañas
CarValet: Elementos de la barra de pestañas
Resumen
Ejercicios
8. Vistas de tabla I: Fundamentos
Introducción a las vistas de tabla
Proyecto TableTry
- Crear celdas
- Secciones y filas
- Generar celdas y rutas de índice
- Añadir una sección
Fase I: Reemplazar la escena Add/View
Añadir una celda de vista de coche
Añadir coches nuevos
Eliminar coches
- Edición iniciada por el usuario
Fase II: Añadir una jerarquía para la pantalla Edit
Añadir una escena View Car
Rellenar con datos la escena View Car
Editar datos
- Añadir la clase MakeModelEditViewController
- Convertir a View Car en delegado de MakeModelEditProtocol
- Añadir un ViewCarProtocol
- Transición de retorno a la tabla principal de coches
- Perfeccionar las actualizaciones
Editar el año
- Configurar el editor del año
- Implementar el selector del año del modelo
- Cálculos para el selector
- Añadir el protocolo de edición del año
Resumen
Ejercicios
9. Introducción a Core Data
Introducción a Core Data
Adaptar CarValet a Core Data
Añadir el modelo CDCar
Añadir código estándar de Core Data
Transformar CarTableViewController
- Cambio 1 en la tabla de coches: Añadir el contexto de objeto gestionado
- Cambio 2 en la tabla de coches: Acceder a datos con el contexto de objeto gestionado
- Cambio 3 en la tabla de coches: Usar Core Data para añadir y eliminar coches
- Cambio 4 en la tabla de coches: Cambiar a CDCar y actualizar la celda Car
- Cambio 5 en la tabla de coches: Actualizar para utilizar NSNumber
Tablas más fáciles: NSFetchedResultsController
Parte 1: Integrar NSFetchedResultsController
- Actualizar los métodos básicos de origen de datos de la vista de tabla
- Actualizar la eliminación y visualización de coches
Parte 2: Implementar NSFetchedResultsControllerDelegate
- Añadir los métodos NSFetchedResultsControllerDelegate
- Posibilitar la llamada a los métodos delegados
Resumen
Ejercicios
La expresión «El futuro está en la tecnología móvil» es cada vez más habitual. La evolución de iOS ha sido extraordinaria desde el lanzamiento del iPhone, tanto en lo referido a las API como a las herramientas para el desarrollador, generando dispositivos Apple con más recursos y más facilidad de uso.
¿No sabe por dónde empezar el desarrollo iOS ni qué necesita? Esta obra está dirigida a cualquier usuario que no conozca la plataforma iOS. Ofrece un enfoque práctico para un aprendizaje eficaz que abarca desde el primer contacto con Objective-C, las herramientas de desarrollo Xcode, útiles consejos y prácticas sobre la depuración, usabilidad y desarrollo de la interfaz de usuario y de los principales aspectos de las apps, hasta la publicación en la App Store.
A lo largo del libro aprenderá los fundamentos de iOS con la ayuda de ejercicios para la creación y desarrollo de una app que servirá como puesta en práctica de los conceptos tratados en los diferentes capítulos y que podrá utilizar como punto de partida para crear sus propias aplicaciones en poco tiempo.
Bienvenido al desarrollo iOS.
Maurice Sharp cuenta con 21 años de experiencia en la gestión y dirección de desarrollo para móviles, tanto en compañías grandes (Apple, Palm o eBay) como de menor tamaño. En la actualidad tiene su propia consultora, KLM Apps, y es asesor técnico de algunas compañías startups del sector de la telefonía móvil.
Erica Sadun es doctora en Informática por el Graphics, Visualization and Usability Center de la universidad Georgia Tech. Es autora, coautora y colaboradora de numerosos libros de éxito sobre el desarrollo para dispositivos móviles.
Rod Strougo es autor, formador y desarrollador. Después de 15 años como programador de software en IBM y AT & T, en la actualidad se dedica a su pasión por el desarrollo de juegos y a su labor como formador de iOS en Big Nerd Ranch (www.bignerdranch.com).