Core Data avec MagicalRecord

On 16 novembre 2014 by jb

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