SlideShare una empresa de Scribd logo
Usando Core Data
el poder de la simplicidad
         Vicente Vicens
        Imathink World
Core Data es un
framework de Cocoa que
       provee de una
  infraestructura para la
gestión de la colección de
 objetos y la persistencia
Core Data no es una base
 de datos relacional o un
         RDBMS
• Deshacer y Rehacer
• Validación automática de valores de propiedades
• Propagación de cambios y consistencia de
  relaciones entre objetos

• Agrupado, filtrado y organización de los datos en
  memoria y en la UI

• Soporte automático para guardar los objetos en
  repositorios de datos externos

• Integración opcional con Cocoa Bindings para dar
  soporte a la sincronización automática con la UI
Mac OS X
Sí   Tiger

Sí   Leopard

Sí   Snow Leopard
iPhone OS

 No    2.x


 NDA   3.x
Cocoa Bindings
• Core Data trabaja perfectamente
  con Cocoa Bindings

 • Key Value Coding
 • Key Value Observing
• Propiedades
Key Value Coding
• Nos permite acceder a los atributos
  de un objeto sin tener que llamar
  directamente a sus “accessors”
Recipe *myRecipe = [[Recipe alloc] init];

NSString *recipeName = [myRecipe valueForKey:@”name”];

[myRecipe setValue:@”Tortilla de patatas” forKey:@”name”];
Key Value Observing
• Nos permite obtener notificaciones
   cuando un atributo ha cambiado
static NSString *observer = @"Observer"
id myRecipe = ...
[myRecipe addObserver:self
               forKeyPath:@"name"
               options:(NSKeyValueObservingOptionNew|
               NSKeyValueObservingOptionOld)
               context:observer];


- (void)observeValueForKeyPath:(NSString*)keyPath
               ofObject:(id)object
               change:(NSDictionary*)change
               context:(void*)context;
Propiedades
• Con Leopard y iPhone OS
• Son KVC compatibles
@interface MyObject: NSObject
{
    NSString *myString;
}
@property (retain) NSString *myString;
@end

#import “MyObject.h”
@implementation MyObject
@synthesize myString;
@end
Employee
 Employee         Department
                   Department
  Employee




 NSManagedObjectContext




NSPersistentStoreCoordinator    NSManagedObjectModel




   Persistent Object Store              File
Subclassing NSManagedObject
 • Crear “accessors” para atributos y
    relaciones

 • Las relaciones To-Many devuelven NSSet
 • Métodos personalizados
 @interface Recipe : NSManagedObject {
     // No se definen los iVars.
 }
 @property (assign) NSString *title;
 @end

 #import “Recipe.h”
 @implementation Recipe
 @dynamic title;
 @end
NSFetchRequest
• Se pueden crear en el modelo o en código
• NSPredicate y NSSortDescriptor
NSManagedObjectContext *myMoc = [self managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription
               entityWithName:@"Department"
               inManagedObjectContext:myMoc]];

NSError *error = nil;
NSArray *results = [myMoc executeFetchRequest:request
error:&error];

if (error) {
    [NSApp presentError:error];
    return;
}
Performance Tunning

• Normalización versus desnormalización
• Cuando guardar

- (BOOL)hasChanges;

- (BOOL)save:(NSError **)error;
Persistent Store Types
                 SQLite
                 Binary
                  XML
              In-Memory
API para crear Atomic Stores personalizados
Otros Temas

• Versionado y migración
• Deshacer y Rehacer
• Integración con Spotlight y Quick Look
• Sync Services
• Multithreading
• Aplicaciones distribuidas
Apple Documentation

• Core Data Programming Guide
• Atomic Store Programming Topics
• Creating a Managed Object Model with Xcode
• XCode Tools for Core Data
• Core Data Framework Reference
• Tutorials
Other Books

Core Data
Apple’s API for Persisting Data under Mac OS X




Author: Marcus S. Zarra

http://www.pragprog.com
Nos
vemos
en
WWDC09

Más contenido relacionado

Destacado

GRUPOE_APLICINFO_12
GRUPOE_APLICINFO_12GRUPOE_APLICINFO_12
GRUPOE_APLICINFO_12
Anel Maldonado
 
Y Digimos Que Todo Esba Bien
Y Digimos Que Todo Esba BienY Digimos Que Todo Esba Bien
Y Digimos Que Todo Esba Bien
DIRECTIVO DOCENTE
 
10 la matemática-de-dios
10 la matemática-de-dios10 la matemática-de-dios
10 la matemática-de-dios
jauregui88
 
Peluqueria Elva
Peluqueria ElvaPeluqueria Elva
Peluqueria Elva
alicia.informatica
 
Que es un Rey para ti =)?
Que es un Rey para ti =)?Que es un Rey para ti =)?
Que es un Rey para ti =)?
100joaquina100
 
00. Edicion Html. Introduccion 0001
00. Edicion Html. Introduccion   000100. Edicion Html. Introduccion   0001
00. Edicion Html. Introduccion 0001
José M. Padilla
 
DiseñO GráFico
DiseñO GráFicoDiseñO GráFico
DiseñO GráFico
cecimat
 
AC/DC Homenaje
AC/DC HomenajeAC/DC Homenaje
AC/DC Homenaje
guest8c44a4
 
Presentación Preliminar - Exámen
Presentación Preliminar - ExámenPresentación Preliminar - Exámen
Presentación Preliminar - Exámen
Nando Landeta
 
2da Unidad Jaume Trilla
2da Unidad Jaume Trilla2da Unidad Jaume Trilla
2da Unidad Jaume Trilla
Rosmeri
 
Trabajo De Constitucion Politica
Trabajo De Constitucion PoliticaTrabajo De Constitucion Politica
Trabajo De Constitucion Politica
guest4d63a3
 
Proyecto Final de Carrera. Portal de Noticias con RSS (Año 2005)
Proyecto Final de Carrera. Portal de Noticias con RSS (Año 2005)Proyecto Final de Carrera. Portal de Noticias con RSS (Año 2005)
Proyecto Final de Carrera. Portal de Noticias con RSS (Año 2005)
Fernando Leandro
 
Control De Dios
Control De DiosControl De Dios
Control De Dios
DIRECTIVO DOCENTE
 
Teorias
TeoriasTeorias
Teorias
AniLorena
 
Organización Y Liderazgo
Organización Y LiderazgoOrganización Y Liderazgo
Organización Y Liderazgo
Santiago Gabriel Cevallos Andrade
 
Tarabajo formal de las redes sociales
Tarabajo formal de las redes socialesTarabajo formal de las redes sociales
Tarabajo formal de las redes sociales
vjgaby
 
cadena solidaria
cadena solidariacadena solidaria
cadena solidaria
anabella92
 
Ojos En La Oscuridad
Ojos En La OscuridadOjos En La Oscuridad
Ojos En La Oscuridad
Juanma M
 
AnáLisis De La Normativa
AnáLisis De La NormativaAnáLisis De La Normativa
AnáLisis De La Normativa
SITRAED
 
Historia Ifeba
Historia IfebaHistoria Ifeba
Historia IfebaIFEBA
 

Destacado (20)

GRUPOE_APLICINFO_12
GRUPOE_APLICINFO_12GRUPOE_APLICINFO_12
GRUPOE_APLICINFO_12
 
Y Digimos Que Todo Esba Bien
Y Digimos Que Todo Esba BienY Digimos Que Todo Esba Bien
Y Digimos Que Todo Esba Bien
 
10 la matemática-de-dios
10 la matemática-de-dios10 la matemática-de-dios
10 la matemática-de-dios
 
Peluqueria Elva
Peluqueria ElvaPeluqueria Elva
Peluqueria Elva
 
Que es un Rey para ti =)?
Que es un Rey para ti =)?Que es un Rey para ti =)?
Que es un Rey para ti =)?
 
00. Edicion Html. Introduccion 0001
00. Edicion Html. Introduccion   000100. Edicion Html. Introduccion   0001
00. Edicion Html. Introduccion 0001
 
DiseñO GráFico
DiseñO GráFicoDiseñO GráFico
DiseñO GráFico
 
AC/DC Homenaje
AC/DC HomenajeAC/DC Homenaje
AC/DC Homenaje
 
Presentación Preliminar - Exámen
Presentación Preliminar - ExámenPresentación Preliminar - Exámen
Presentación Preliminar - Exámen
 
2da Unidad Jaume Trilla
2da Unidad Jaume Trilla2da Unidad Jaume Trilla
2da Unidad Jaume Trilla
 
Trabajo De Constitucion Politica
Trabajo De Constitucion PoliticaTrabajo De Constitucion Politica
Trabajo De Constitucion Politica
 
Proyecto Final de Carrera. Portal de Noticias con RSS (Año 2005)
Proyecto Final de Carrera. Portal de Noticias con RSS (Año 2005)Proyecto Final de Carrera. Portal de Noticias con RSS (Año 2005)
Proyecto Final de Carrera. Portal de Noticias con RSS (Año 2005)
 
Control De Dios
Control De DiosControl De Dios
Control De Dios
 
Teorias
TeoriasTeorias
Teorias
 
Organización Y Liderazgo
Organización Y LiderazgoOrganización Y Liderazgo
Organización Y Liderazgo
 
Tarabajo formal de las redes sociales
Tarabajo formal de las redes socialesTarabajo formal de las redes sociales
Tarabajo formal de las redes sociales
 
cadena solidaria
cadena solidariacadena solidaria
cadena solidaria
 
Ojos En La Oscuridad
Ojos En La OscuridadOjos En La Oscuridad
Ojos En La Oscuridad
 
AnáLisis De La Normativa
AnáLisis De La NormativaAnáLisis De La Normativa
AnáLisis De La Normativa
 
Historia Ifeba
Historia IfebaHistoria Ifeba
Historia Ifeba
 

Similar a Core Data en Mac OS X

S4-PD1.pptx
S4-PD1.pptxS4-PD1.pptx
S4 - EF
S4 - EFS4 - EF
Sesion uno azuay
Sesion uno azuaySesion uno azuay
Sesion uno azuay
Manuel Ortega
 
Nativescript
NativescriptNativescript
Nativescript
Autentia
 
04. Implementando APIs HTML5
04. Implementando APIs HTML5 04. Implementando APIs HTML5
04. Implementando APIs HTML5
Danae Aguilar Guzmán
 
S8-DAW-2022S1.pptx
S8-DAW-2022S1.pptxS8-DAW-2022S1.pptx
S8-DAW-2022S1.pptx
Luis Fernando Aguas Bucheli
 
Aplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva WebAplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva Web
Gonzalo C.
 
Sp fx connecting to share point & react lifecycle
Sp fx connecting to share point & react lifecycleSp fx connecting to share point & react lifecycle
Sp fx connecting to share point & react lifecycle
Mario Cortés Flores
 
Angular Fundamentals
Angular FundamentalsAngular Fundamentals
Angular Fundamentals
Juanjo Pérez Guadas
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en Java
Iker Canarias
 
Novedades de aries
Novedades de ariesNovedades de aries
Novedades de aries
lmrv
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
Luis Fernando Aguas Bucheli
 
Programación móvil para superhéroes
Programación móvil para superhéroesProgramación móvil para superhéroes
Programación móvil para superhéroes
Software Guru
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
Luis Fernando Aguas Bucheli
 
Migración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL DeveloperMigración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL Developer
Valentin Leonard Tabacaru
 
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ
 
Jdbc
JdbcJdbc
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
Alberto Diaz Martin
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
Alberto Diaz Martin
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDB
Victor Cuervo
 

Similar a Core Data en Mac OS X (20)

S4-PD1.pptx
S4-PD1.pptxS4-PD1.pptx
S4-PD1.pptx
 
S4 - EF
S4 - EFS4 - EF
S4 - EF
 
Sesion uno azuay
Sesion uno azuaySesion uno azuay
Sesion uno azuay
 
Nativescript
NativescriptNativescript
Nativescript
 
04. Implementando APIs HTML5
04. Implementando APIs HTML5 04. Implementando APIs HTML5
04. Implementando APIs HTML5
 
S8-DAW-2022S1.pptx
S8-DAW-2022S1.pptxS8-DAW-2022S1.pptx
S8-DAW-2022S1.pptx
 
Aplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva WebAplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva Web
 
Sp fx connecting to share point & react lifecycle
Sp fx connecting to share point & react lifecycleSp fx connecting to share point & react lifecycle
Sp fx connecting to share point & react lifecycle
 
Angular Fundamentals
Angular FundamentalsAngular Fundamentals
Angular Fundamentals
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en Java
 
Novedades de aries
Novedades de ariesNovedades de aries
Novedades de aries
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
Programación móvil para superhéroes
Programación móvil para superhéroesProgramación móvil para superhéroes
Programación móvil para superhéroes
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
 
Migración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL DeveloperMigración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL Developer
 
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
Jdbc
JdbcJdbc
Jdbc
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDB
 

Último

HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
JuanaNT7
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 

Último (20)

HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 

Core Data en Mac OS X

  • 1. Usando Core Data el poder de la simplicidad Vicente Vicens Imathink World
  • 2. Core Data es un framework de Cocoa que provee de una infraestructura para la gestión de la colección de objetos y la persistencia
  • 3. Core Data no es una base de datos relacional o un RDBMS
  • 4. • Deshacer y Rehacer • Validación automática de valores de propiedades • Propagación de cambios y consistencia de relaciones entre objetos • Agrupado, filtrado y organización de los datos en memoria y en la UI • Soporte automático para guardar los objetos en repositorios de datos externos • Integración opcional con Cocoa Bindings para dar soporte a la sincronización automática con la UI
  • 5. Mac OS X Sí Tiger Sí Leopard Sí Snow Leopard
  • 6. iPhone OS No 2.x NDA 3.x
  • 7.
  • 8.
  • 9. Cocoa Bindings • Core Data trabaja perfectamente con Cocoa Bindings • Key Value Coding • Key Value Observing • Propiedades
  • 10. Key Value Coding • Nos permite acceder a los atributos de un objeto sin tener que llamar directamente a sus “accessors” Recipe *myRecipe = [[Recipe alloc] init]; NSString *recipeName = [myRecipe valueForKey:@”name”]; [myRecipe setValue:@”Tortilla de patatas” forKey:@”name”];
  • 11. Key Value Observing • Nos permite obtener notificaciones cuando un atributo ha cambiado static NSString *observer = @"Observer" id myRecipe = ... [myRecipe addObserver:self forKeyPath:@"name" options:(NSKeyValueObservingOptionNew| NSKeyValueObservingOptionOld) context:observer]; - (void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void*)context;
  • 12. Propiedades • Con Leopard y iPhone OS • Son KVC compatibles @interface MyObject: NSObject { NSString *myString; } @property (retain) NSString *myString; @end #import “MyObject.h” @implementation MyObject @synthesize myString; @end
  • 13. Employee Employee Department Department Employee NSManagedObjectContext NSPersistentStoreCoordinator NSManagedObjectModel Persistent Object Store File
  • 14.
  • 15. Subclassing NSManagedObject • Crear “accessors” para atributos y relaciones • Las relaciones To-Many devuelven NSSet • Métodos personalizados @interface Recipe : NSManagedObject { // No se definen los iVars. } @property (assign) NSString *title; @end #import “Recipe.h” @implementation Recipe @dynamic title; @end
  • 16. NSFetchRequest • Se pueden crear en el modelo o en código • NSPredicate y NSSortDescriptor NSManagedObjectContext *myMoc = [self managedObjectContext]; NSFetchRequest *request = [[NSFetchRequest alloc] init]; [request setEntity:[NSEntityDescription entityWithName:@"Department" inManagedObjectContext:myMoc]]; NSError *error = nil; NSArray *results = [myMoc executeFetchRequest:request error:&error]; if (error) { [NSApp presentError:error]; return; }
  • 17. Performance Tunning • Normalización versus desnormalización • Cuando guardar - (BOOL)hasChanges; - (BOOL)save:(NSError **)error;
  • 18. Persistent Store Types SQLite Binary XML In-Memory API para crear Atomic Stores personalizados
  • 19. Otros Temas • Versionado y migración • Deshacer y Rehacer • Integración con Spotlight y Quick Look • Sync Services • Multithreading • Aplicaciones distribuidas
  • 20. Apple Documentation • Core Data Programming Guide • Atomic Store Programming Topics • Creating a Managed Object Model with Xcode • XCode Tools for Core Data • Core Data Framework Reference • Tutorials
  • 21. Other Books Core Data Apple’s API for Persisting Data under Mac OS X Author: Marcus S. Zarra http://www.pragprog.com