Core Data avec MagicalRecord

Core Data permet de gérer son modèle de données via un “diagramme” MyModel.xcdatamodeld où l’on décrie tout. Cela sert aussi à générer les fichiers sources obj-c. Toute la persistance est gérée par le système.

Le problème est qu’il était assez compliqué de modifier un projet non – Core Data, et même de partir d’un nouveau projet.

 

Avec MagicalRecord, c’est juste “Magique”, c’est vraiment très simple. Installation via cocoapod

pod MagicalRecord

Une fois votre modèle créé, il suffit d’ajouter une seule ligne dans la méthode “didFinishLaunchingWithOptions” de votre AppDelegate :

[MagicalRecord setupCoreDataStackWithStoreNamed:@"MyModel"];

Voila Core Data est mis en place :) .

 

Pour Ajouter une Entité :

MyEntity *oneEntity = [MyEntity createEntity];

Pour Supprimer une Entité :

[oneEntityToRemove deleteEntity];

Pour Sauvegarder le modèle:

[[NSManagedObjectContext defaultContext] saveToPersistentStoreAndWait];

 

Pour retrouver les Entités :

self.entities = [[MyEntity findAll];

ou

self.entities = [[MyEntity findAllSortedBy:sortKey ascending:ascending];

ou

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"attribut == %@", attribut];
self.entities = [MyEntity findAllWithPredicate:predicate];

 

MagicalRecord : http://cocoadocs.org/docsets/MagicalRecord/2.1/index.html

raywenderlich : http://www.raywenderlich.com/56879/magicalrecord-tutorial-ios