ios dev group - introduccion core data
DESCRIPTION
Charla que di sobre Core Data con la gente de iosdev.com.arTRANSCRIPT
Introducción a Core DataIntroducción a Core Data
Pablo Ezequiel Romero
Sobre mi
• +8 años trabajando en plataformas mobile• Palm, Windows Mobile (C++, .net), J2ME• Algunos trabajos aburridos en el medio• +3 años iOS (desde la ver 2.x)• iOS Architect en Nextive• Una app en App Store: Habichuelas• http://microedition.biz• @microeditionbiz
Que vamos a ver hoy
• Mecanismos de persistencia• Core Data Stack• Operaciones básicas
– Inicialización, ABMs, consultas• Data Model• Subclases fuertemente tipeados• Relaciones / Fetched properties• Temas para seguir leyendo• Preguntas
Macanismos de persistencia
• Property List / NSUserDefaults– Arrays, dictionaries, strings, dates, numbers– Facil de usar– NSCoding– Poco volumen de datos
• SQLite– Es mas complejo– Maneja mayor volumen de datos
Core Data
• Core Data– Basicamente es un ORM– Alto nivel de abstraccion– Por lo general emplea SQLite– iPhone/iPod 3.0 (y iPad)
Core Data Stack
Core Data Stack
Inicialización
2. Creamos un Data Model
2. Creamos un Data Model
2. Creamos un Data Model
3. Generamos las clases de datos (Xcode)
3. Generamos las clases de datos (Xcode)
3. Generamos las clases de datos (Xcode)
3. Generamos las clases de datos (Xcode)
3. Generamos las clases de datos (mogenerator)
Maquina vs humanos Linea de comando Templates Codigo Fuente Disponible en: http://rentzsch.github.com/mogenerator/
Inicialización
Inicialización (pasos 4, 5 y 6)
Altas
Altas
Consultas
Consultas
Modificaciones
Modificaciones
Bajas
Bajas
NSManagedObject metodos utiles
NSManagedObjectContext metodos utiles
Xcode template
Para seguir leyendo
• NSFetchedResultController
• Migraciones y versionado
• Threading
• Imagenes
• Precarga de datos
• Transient Attribute (full name)
• Transformable Attributes (NSData)
Demo Mismo modelo de datos
(relaciones, fetched properties) Alta, baja, consulta No usa
NSFetchedResultController Disponible en:https://microedition.svn.beanstalkapp.com/public/
Referencias• Core Data Tutorial for iOS:http://developer.apple.com/library/ios/#documentation/DataManagement/C
onceptual/iPhoneCoreData01/Introduction/Introduction.html
• Introduction to Core Data Programming Guide:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual
/CoreData/cdProgrammingGuide.html
• Cocoa is my Girlfriend: http://www.cimgf.com/
• Los primeros 7 capítulos del libro More iPhone 3 Development de Dave Mark y Jeff LaMarche
• Pro Core Data for iOS
• Mi Blog: http://www.microedition.biz/blog
• Twitter: @microeditionbiz
• Email: [email protected]
Preguntas