Skip to content

Instantly share code, notes, and snippets.

@Adlai-Holler
Created September 4, 2013 02:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Adlai-Holler/6432083 to your computer and use it in GitHub Desktop.
Save Adlai-Holler/6432083 to your computer and use it in GitHub Desktop.
clear DB
// Cancel network requests
// Delete all managed objects
NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
NSManagedObjectContext *managedObjectContext = [RKManagedObjectStore defaultStore].persistentStoreManagedObjectContext;
[managedObjectContext performBlockAndWait:^{
NSError *error = nil;
for (NSEntityDescription *entity in [RKManagedObjectStore defaultStore].managedObjectModel) {
NSFetchRequest *fetchRequest = [NSFetchRequest new];
[fetchRequest setEntity:entity];
[fetchRequest setIncludesSubentities:NO];
NSArray *objects = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
if (! objects) RKLogWarning(@"Failed execution of fetch request %@: %@", fetchRequest, error);
for (NSManagedObject *managedObject in objects) {
[managedObjectContext deleteObject:managedObject];
}
}
BOOL success = [managedObjectContext save:&error];
if (!success) RKLogWarning(@"Failed saving managed object context: %@", error);
}];
}];
[operation setCompletionBlock:^{
if(completion) completion();
// Do stuff once the truncation is complete
}];
[operation start];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment