Detalle del libro
Ver Índice
Introducción
1. Cocoa: Definición
Una breve historia
Herramientas
Lenguaje
Objetos, clases, métodos y mensajes
Frameworks
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
La ventana Library
La ventana vacía
Diseñar la interfaz
La ventana de documento
Crear una clase
Crear una instancia
Establecer conexiones
De vuelta en Xcode
Tipos y constantes en Objective-C
El archivo de cabecera
Editar el archivo de implementación
Generar y ejecutar
awakeFromNib
Documentación
Repaso del capítulo
3. Objective-C
Crear y utilizar instancias
Utilizar clases existentes
Enviar mensajes a nil
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
LotteryEntry.m
Cambiar lottery.m
Implementar un método description
NSCalendarDate
Escribir inicializadores
Inicializadores con argumentos
Convenciones para crear inicializadores
El depurador
Repaso del capítulo
Para los más curiosos: Funcionamiento de los mensajes
Reto
4. Administración de memoria
Activar y desactivar el garbage collector
Vivir con el garbage collector
Vivir con números de retención
Implementar dealloc
Crear objetos de liberación automática
Reglas de release
Objetos temporales
Métodos de acceso
Repaso del capítulo
5. Destino/Acción
Subclases más utilizadas de NSControl
NSButton
NSSlider
NSTextField
Iniciar el ejemplo SpeakLine
Diseñar el archivo Nib
Crear conexiones en Interface Builder
initialFirstResponder de NSWindow
Implementar la clase AppController
Para los curiosos: Establecer target mediante programación
Reto
Consejos de depuración
6. Objetos de ayuda
Delegados
NSTableView y su elemento dataSource
Diseñar la interfaz de usuario
Establecer conexiones
Editar AppController.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. Programación basada en claves y valores
Programación basada en claves y valores
Vinculaciones (Bindings)
Observar claves y valores (KVO, Key-Value Observing)
Crear claves para su observación
Propiedades y sus atributos
@property y @synthesize
Atributos de una propiedad
Para los más curiosos: Rutas de claves (Keypaths)
Para los más curiosos: Observar claves y valores
8. NSArrayController
Iniciar la aplicación RaiseMan
En Xcode
En Interface Builder
KVC 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
Observación de claves y valores (KV0)
Deshacer ediciones
Editar al insertar
Para los más curiosos: Ventanas y el administrador de operaciones 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: Aplicaciones basadas en documentos sin Undo
Identificadores de tipos universales
11. Fundamentos de Core Data
NSManagedObjectModel
Interfaz
Crear y configurar vistas
Conexiones y vinculaciones
Cómo funciona Core Data
12. Archivos Nib y NSWindowController
NSPanel
Añadir un panel a la aplicación
Configurar el elemento de menú
AppController.m
Preferences.nib
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 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: NSUserDefaultsController
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
SNotification y 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 nib
Editar el código
Crear una imagen en la vista
El sistema de coordenadas de la vista
Autodesplazamiento
Para los más curiosos: NSImage
Reto
19. Eventos de teclado
NSResponder
NSEvent
Crear un nuevo proyecto con una vista personalizada
Diseñar la interfaz
Establecer conexiones
Escribir el código
BigLetterView.h
BigLetterView.m
Para los más curiosos: Rollover
El cuadro azul
20. Dibujar texto con atributos
NSFont
NSAttributedString
Dibujar cadenas y cadenas con atributos
Si programa aplicaciones para Mac OS X, tiene en sus manos el libro que esperaba. Si es su primer contacto con el entorno de Macintosh, probablemente sea el manual que le hayan recomendado leer. Este libro abarca los conceptos necesarios para aprender a desarrollar aplicaciones completas para OS X.
Escrito con un estilo atractivo y probado concienzudamente para garantizar su claridad y precisión, lo que lo convierte en un recurso indispensable para cualquier programador de Macintosh.
Analiza el lenguaje Objective-C y los principales patrones de diseño de Cocoa. El autor ilustra sus explicaciones con ejemplos de código, escritos de acuerdo al estilo de la comunidad de Cocoa, para que aprenda a diseñar programas de Macintosh. Tras leer el libro, tendrá los conocimientos suficientes para comprender y utilizar la documentación en línea de Apple para sus necesidades, además de, para diseñar código con un estilo propio.
Actualizada para Mac OS X 10.4 y 10.5, esta edición revisada incluye Xcode 3, Objective-C 2, Core Data, el recolector de elementos sin utilizar y CoreAnimation.