La question que je me pose, dans votre cas, est "qui fait que les Données de Base de la pile "appartenir"?" Les données lui-même est vraiment de la province de la demande, n'est-ce pas? (C. F. Base de Données sur le Mac, où vous pourriez avoir une application capable de travailler avec plusieurs documents à la fois, de sorte que les Données de Base de la pile appartient à chaque document.)
En tout Cacao/Cacao application Tactile, le Délégué d'Application est généralement le meilleur moyen de personnaliser le comportement de l'application, c'est donc le lieu naturel de la Base de Données de la pile.
Maintenant, le problème, je soupçonne que vous rencontrez, c'est qu'il se sent mal à constamment écrire des choses comme:
NSManagedObjectContext *context = [(MyAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
Ce que je fais dans ces cas est d'écrire des fonctions (pas de méthodes) comme ceci:
NSManagedObjectContext *UIAppManagedObjectContext() {
return [*(MyAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
J'écris une fonction similaire pour l' NSPersistentStoreCoordinator
et de la NSManagedObjectModel
. J'ai mis tout ça dans l'Application du Délégué .h/.m fichiers, puisque ce sont des objets de niveau application.