ios dev group - introduccion core data

33
Introducción a Core Data Introducción a Core Data Pablo Ezequiel Romero

Upload: microeditionbiz

Post on 04-Jul-2015

1.972 views

Category:

Documents


4 download

DESCRIPTION

Charla que di sobre Core Data con la gente de iosdev.com.ar

TRANSCRIPT

Page 1: iOS dev group - Introduccion core data

Introducción a Core DataIntroducción a Core Data

Pablo Ezequiel Romero

Page 2: iOS dev group - Introduccion core data

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

Page 3: iOS dev group - Introduccion core data

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

Page 4: iOS dev group - Introduccion core data

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

Page 5: iOS dev group - Introduccion core data

Core Data

• Core Data– Basicamente es un ORM– Alto nivel de abstraccion– Por lo general emplea SQLite– iPhone/iPod 3.0 (y iPad)

Page 6: iOS dev group - Introduccion core data

Core Data Stack

Page 7: iOS dev group - Introduccion core data

Core Data Stack

Page 8: iOS dev group - Introduccion core data

Inicialización

Page 9: iOS dev group - Introduccion core data

2. Creamos un Data Model

Page 10: iOS dev group - Introduccion core data

2. Creamos un Data Model

Page 11: iOS dev group - Introduccion core data

2. Creamos un Data Model

Page 12: iOS dev group - Introduccion core data

3. Generamos las clases de datos (Xcode)

Page 13: iOS dev group - Introduccion core data

3. Generamos las clases de datos (Xcode)

Page 14: iOS dev group - Introduccion core data

3. Generamos las clases de datos (Xcode)

Page 15: iOS dev group - Introduccion core data

3. Generamos las clases de datos (Xcode)

Page 16: iOS dev group - Introduccion core data

3. Generamos las clases de datos (mogenerator)

Maquina vs humanos Linea de comando Templates Codigo Fuente Disponible en: http://rentzsch.github.com/mogenerator/

Page 17: iOS dev group - Introduccion core data

Inicialización

Page 18: iOS dev group - Introduccion core data

Inicialización (pasos 4, 5 y 6)

Page 19: iOS dev group - Introduccion core data

Altas

Page 20: iOS dev group - Introduccion core data

Altas

Page 21: iOS dev group - Introduccion core data

Consultas

Page 22: iOS dev group - Introduccion core data

Consultas

Page 23: iOS dev group - Introduccion core data

Modificaciones

Page 24: iOS dev group - Introduccion core data

Modificaciones

Page 25: iOS dev group - Introduccion core data

Bajas

Page 26: iOS dev group - Introduccion core data

Bajas

Page 27: iOS dev group - Introduccion core data

NSManagedObject metodos utiles

Page 28: iOS dev group - Introduccion core data

NSManagedObjectContext metodos utiles

Page 29: iOS dev group - Introduccion core data

Xcode template

Page 30: iOS dev group - Introduccion core data

Para seguir leyendo

• NSFetchedResultController

• Migraciones y versionado

• Threading

• Imagenes

• Precarga de datos

• Transient Attribute (full name)

• Transformable Attributes (NSData)

Page 31: iOS dev group - Introduccion core data

Demo Mismo modelo de datos

(relaciones, fetched properties) Alta, baja, consulta No usa

NSFetchedResultController Disponible en:https://microedition.svn.beanstalkapp.com/public/

Page 32: iOS dev group - Introduccion core data

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]

Page 33: iOS dev group - Introduccion core data

Preguntas