From ffe8372fbfbfec9cf08af3f3db11d297682f1cca Mon Sep 17 00:00:00 2001 From: Neal Ehardt Date: Fri, 11 Jan 2013 14:50:40 -0600 Subject: [PATCH] MR_inContext: works on objects with temporary IDs --- .../NSManagedObject/NSManagedObject+MagicalRecord.m | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/MagicalRecord/Categories/NSManagedObject/NSManagedObject+MagicalRecord.m b/MagicalRecord/Categories/NSManagedObject/NSManagedObject+MagicalRecord.m index f14e26b8d..67b951635 100644 --- a/MagicalRecord/Categories/NSManagedObject/NSManagedObject+MagicalRecord.m +++ b/MagicalRecord/Categories/NSManagedObject/NSManagedObject+MagicalRecord.m @@ -226,6 +226,19 @@ + (BOOL) MR_truncateAll - (id) MR_inContext:(NSManagedObjectContext *)otherContext { NSError *error = nil; + + if (self.objectID.isTemporaryID) + { + BOOL success = [self.managedObjectContext obtainPermanentIDsForObjects:@[self] error:&error]; + if (!success) + { + [MagicalRecord handleErrors:error]; + return nil; + } + } + + error = nil; + NSManagedObject *inContext = [otherContext existingObjectWithID:[self objectID] error:&error]; [MagicalRecord handleErrors:error];