Your SlideShare is downloading. ×
0
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Core Data en Mac OS X
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Core Data en Mac OS X

2,444

Published on

Uso de Core Data en aplicaciones Mac OS X.

Uso de Core Data en aplicaciones Mac OS X.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,444
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
41
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. Cocoa Bindings • Core Data trabaja perfectamente con Cocoa Bindings • Key Value Coding • Key Value Observing • Propiedades
  • 8. 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”];
  • 9. 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;
  • 10. 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
  • 11. Employee Employee Department Department Employee NSManagedObjectContext NSPersistentStoreCoordinator NSManagedObjectModel Persistent Object Store File
  • 12. 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
  • 13. 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; }
  • 14. Performance Tunning • Normalización versus desnormalización • Cuando guardar - (BOOL)hasChanges; - (BOOL)save:(NSError **)error;
  • 15. Persistent Store Types SQLite Binary XML In-Memory API para crear Atomic Stores personalizados
  • 16. Otros Temas • Versionado y migración • Deshacer y Rehacer • Integración con Spotlight y Quick Look • Sync Services • Multithreading • Aplicaciones distribuidas
  • 17. 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
  • 18. Other Books Core Data Apple’s API for Persisting Data under Mac OS X Author: Marcus S. Zarra http://www.pragprog.com
  • 19. Nos vemos en WWDC09

×