Vous pouvez toujours supprimer le fichier par programmation, à l'aide de la NSFileManager:removeItemAtPath:: méthode.
NSPersistentStore *store = ...;
NSError *error;
NSURL *storeURL = store.URL;
NSPersistentStoreCoordinator *storeCoordinator = ...;
[storeCoordinator removePersistentStore:store error:&error];
[[NSFileManager defaultManager] removeItemAtPath:storeURL.path error:&error];
Ensuite, il suffit d'ajouter le système de persistance en arrière pour s'assurer qu'il est recréé correctement.
Un moyen pour itérer sur chaque entité est à la fois plus lente et sujette à l'erreur. L'utiliser pour faire de cette façon, si vous voulez supprimer des entités et pas d'autres. Cependant, vous devez toujours assurez-vous de conserver l'intégrité référentielle ou vous ne serez pas en mesure de persister vos modifications.
Juste de retirer le stocker et de le recréer à la fois rapide et sûr, et peut certainement être fait par programmation à l'exécution.
Mise à jour pour iOS5+
Avec l'introduction de l'externe stockage binaire (allowsExternalBinaryDataStorage ou Magasin en Externe Fichier d'Enregistrement) dans iOS 5 et mac OS X 10.7, il vous suffit de supprimer les fichiers pointés par storeURLs n'est pas assez. Vous allez quitter l'externe d'enregistrement des fichiers de derrière. Depuis le schéma de nommage de ces fichiers d'enregistrement n'est pas public, je n'ai pas de solution universelle encore. – an0 8 Mai '12 à 23:00