Detalle del libro
Ver Índice
Agradecimientos
Sobre los autores
Introducción
1. Cocoa: Definición
Breve historia
Herramientas
Lenguaje
Objetos, clases, métodos y mensajes
Estructuras
Cómo leer este libro
Convenciones
Código fuente
Errores habituales
Cómo aprender
2. Primeros pasos
En Xcode
Crear un nuevo proyecto
La función main
En Interface Builder
El área Utility
La ventana Blank
Para los más curiosos: Archivos xib y nib
Diseñar la interfaz
El Dock
Crear una clase
Crear una instancia
Establecer conexiones
Objective-C
Tipos y constantes en Objective-C
El archivo de encabezado
Editar el archivo de implementación
Generar y ejecutar
awakeFromNib
Documentación
Repaso del capítulo
Cronología de una aplicación
3. Objective-C
Crear y utilizar instancias
Utilizar clases existentes
Enviar mensajes a null
NSObject, NSArray, NSMutableArray y NSString
NSObject
NSArray
NSMutableArray
NSString
"Se hereda de" frente a "Utiliza" o "Conoce"
Crear clases propias
Crear la clase LotteryEntry
LotteryEntry.h
LottertEntry.m
Cambiar main.m
Implementar un método description
NSDate
Escribir inicializadores
Inicializadores con argumentos
El depurador
Repaso del capítulo
Analizador estático
Para los más curiosos: Funcionamiento de los mensajes
Reto
4. Administración de memoria
Vivir con el recuento manual de referencias
Lotería sin fugas de memoria
dealloc
Liberación automática de objetos
Utilidad de los objetos liberados de forma automática
Conveniencia de los objetos liberados de forma automática
Reglas de la cuenta de retención
Métodos de acceso
Vivir con el recuento automático de referencias (ARC)
Referencias fuertes
Referencias débiles
Peculiaridades de ARC
5. Destino/Acción
Subclases más utilizadas de NSControl
NSButton
NSSlider
NSTextField
Iniciar el ejemplo SpeakLine
Diseñar el archivo xib
Crear conexiones en Interface Builder
Outlet initialFirstResponder de NSWindow
Implementar la clase SpeakLineAppDelegate
Para los curiosos: Establecer target mediante programación
Reto
onsejos de depuración
6. Objetos de ayuda
Delegados
NSTableView y su elemento dataSource
rchivo de interfaz de SpeakLineAppDelegate
Diseñar la interfaz de usuario
Establecer conexiones
Editar SpeakLineAppDelegate.m
Errores habituales en la implementación de delegados
Delegados de objetos
Para los más curiosos: Cómo funcionan los delegados
Reto: Crear un delegado
Reto: Crear un origen de datos
7. Crear códigos de clave y valor
Códigos de clave y valor
Vinculaciones
Observar claves y valores
Crear claves para su observación
Propiedades
Atributos de una propiedad
Para los más curiosos: Rutas de claves
Para los más curiosos: Observar claves y valores
8. NSArrayController
Iniciar la aplicación RaiseMan
RMDocument.xib
Códigos de clave y valor y nil
Ordenar
Para los más curiosos: Ordenar sin NSArrayController
Reto 1
Reto 2
9. NSUndoManager
NSInvocation
Cómo funciona NSUndoManager
Añadir Undo a RaiseMan
Código de clave y valor y relaciones uno a varios
Observar claves y valores
Utilizar el puntero de contexto para defenderse
Deshacer para ediciones
Editar al insertar
Para los más curiosos: Ventanas y administrador de deshacer
10. Archivar
NSCoder y NSCoding
Codificar
Descodificar
La arquitectura de documentos
Info.plist y NSDocumentController
NSDocument
Guardar
Cargar
NSWindowController
Guardar y NSKeyedArchiver
Cargar y NSKeyedUnarchiver
Establecer la extensión y el icono del tipo de archivo
Para los más curiosos: Evitar bucles infinitos
Para los más curiosos: Crear un protocolo
Para los más curiosos: Guardado automático de documentos
Para los más curiosos: Aplicaciones basadas en documentos sin Undo
Identificadores de tipos universales
11. Fundamentos de Core Data
NSManagedObjectModel
Interfaz
Vistas de tabla basadas en vistas
Conexiones y vinculaciones
Cómo funciona Core Data
Para los más curiosos: Vistas de tabla basadas en vistas y en celdas
Reto
12. Archivos Nib y NSWindowController
NSPanel
Añadir un panel a la aplicación
Configurar el elemento de menú
AppController.m
Preferences.xib
File's Owner
Diseñar la interfaz de usuario
PreferenceController.m
Para los más curiosos: NSBundle
Reto
13. Valores predeterminados de usuario
NSDictionary y NSMutableDictionary
NSDictionary
NSMutableDictionary
NSUserDefaults
Precedencia de los distintos tipos de valores predeterminados
Establecer los valores predeterminados
El identificador de una aplicación
Crear claves para los nombres de los valores predeterminados
Registrar valores predeterminados
Permitir que el usuario edite los valores predeterminados
Utilizar los valores predeterminados
Eliminar la creación de documentos sin título
Establecer el color de fondo de la vista de tabla
Para los más curiosos: SUserDefaultsController
Para los más curiosos: Leer y escribir valores predeterminados en la línea de comandos
Reto
14. Utilizar notificaciones
Qué es una notificación
Qué no es una notificación
NSNotification
NSNotificationCenter
Publicar una notificación
Registrar como observador
Procesar la notificación recibida
El diccionario userInfo
Para los más curiosos: Delegados y notificaciones
Reto
15. Utilizar paneles de alerta
Hacer que el usuario confirme la eliminación
Reto
16. Localización
Localizar un archivo nib
Tablas de cadenas
Crear tablas de cadenas
Utilizar la tabla de cadenas
Para los más curiosos: ibtool
Para los más curiosos: Ordenar símbolos explícitamente en cadenas de formato
17. Vistas personalizadas
La jerarquía de vistas
Automatizar el dibujo de vistas
Crear una instancia de la subclase View
Inspector de tamaño
drawRect:
Dibujar con NSBezierPath
NSScrollView
Crear vistas mediante programación
Para los más curiosos: Celdas
Para los más curiosos: isFlipped
Reto
18. Imágenes y eventos de ratón
NSResponder
NSEvent
Obtener eventos de ratón
Utilizar NSOpenPanel
Cambiar el archivo xib
Editar el código
Crear una imagen en la vista
El sistema de coordenadas de la vista
Detrás del gran sistema operativo Mac Os X se encuentra su API nativa de programación, Cocoa. Este libro esta actualizado con las últimas tecnologías de programación, y es el recomendado por los más experimentados programadores de Mac OS X. Si este es su primer contacto con el entorno de Macintosh, no tenga duda, este es el manual que necesita.
Abarca todos los conceptos principales para aprender a desarrollar aplicaciones completas para OS X. Su estilo didáctico y demostrado garantiza claridad y precisión. Se presentan las dos herramientas más utilizadas: Xcode e Instruments, además del lenguaje Objective-C y los principales patrones de diseño de Cocoa. Las explicaciones se ilustran con ejemplos de código.
Actualizado para Mac OS X 10.6 y 10.7, esta cuarta edición incluye Xcode 4, bloques, vistas de tabla basadas en vistas, el nuevo enfoque de Apple respecto a la administración de memoria (recuento automático de referencias) y el Mac App Store. Se añade un capítulo nuevo sobre concurrencia y se amplía el contenido de Core Animation.