From 70f3013cb3c1fdd0623fcca54d1a9db494eb8765 Mon Sep 17 00:00:00 2001 From: Zitao Xiong Date: Thu, 2 Jul 2015 14:40:04 -0400 Subject: [PATCH] Fix error is not assigned correctly. when error is used inside a block of *-enumerateKeysAndObjectsUsingBlock:*. It setups an autorelease pool, by the time it returns, any out error will be deallocaed. we need to use __block, as in code *tmpError --- MTLManagedObjectAdapter/MTLManagedObjectAdapter.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MTLManagedObjectAdapter/MTLManagedObjectAdapter.m b/MTLManagedObjectAdapter/MTLManagedObjectAdapter.m index b0b3ff8..755953c 100644 --- a/MTLManagedObjectAdapter/MTLManagedObjectAdapter.m +++ b/MTLManagedObjectAdapter/MTLManagedObjectAdapter.m @@ -452,7 +452,7 @@ - (id)managedObjectFromModel:(id)model insertingInt id errorHandlingTransformer = (id)transformer; BOOL success = YES; - transformedValue = [errorHandlingTransformer reverseTransformedValue:value success:&success error:error]; + transformedValue = [errorHandlingTransformer reverseTransformedValue:value success:&success error:&tmpError]; if (!success) return NO; } else {