Download - iOS dev group - Introduccion core data
![Page 1: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/1.jpg)
Introducción a Core DataIntroducción a Core Data
Pablo Ezequiel Romero
![Page 2: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/6.jpg)
Core Data Stack
![Page 7: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/7.jpg)
Core Data Stack
![Page 8: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/8.jpg)
Inicialización
![Page 9: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/9.jpg)
2. Creamos un Data Model
![Page 10: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/10.jpg)
2. Creamos un Data Model
![Page 11: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/11.jpg)
2. Creamos un Data Model
![Page 12: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/12.jpg)
3. Generamos las clases de datos (Xcode)
![Page 13: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/13.jpg)
3. Generamos las clases de datos (Xcode)
![Page 14: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/14.jpg)
3. Generamos las clases de datos (Xcode)
![Page 15: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/15.jpg)
3. Generamos las clases de datos (Xcode)
![Page 16: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/17.jpg)
Inicialización
![Page 18: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/18.jpg)
Inicialización (pasos 4, 5 y 6)
![Page 19: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/19.jpg)
Altas
![Page 20: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/20.jpg)
Altas
![Page 21: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/21.jpg)
Consultas
![Page 22: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/22.jpg)
Consultas
![Page 23: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/23.jpg)
Modificaciones
![Page 24: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/24.jpg)
Modificaciones
![Page 25: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/25.jpg)
Bajas
![Page 26: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/26.jpg)
Bajas
![Page 27: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/27.jpg)
NSManagedObject metodos utiles
![Page 28: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/28.jpg)
NSManagedObjectContext metodos utiles
![Page 29: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/29.jpg)
Xcode template
![Page 30: iOS dev group - Introduccion core data](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/30.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/31.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/32.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052616/5596f9ff1a28ab65228b473c/html5/thumbnails/33.jpg)
Preguntas