Is there anything in the log?
What does save's error parameter return?
atze
Am 08.06.2010 um 17:53 schrieb Hank Heijink (Mailinglists):
> Dear all,
>
> I've run into the following problem, and I'm a bit stuck - I wonder if you
> can shed some light on this. I have an iPhone app that uses Core Data, and
> the problem occurs when the app terminates. I have an NSOperationQueue with
> potentially several NSOperations that are cancelled in the
> applicationWillTerminate: UIApplication delegate method.
>
> These NSOperations all have their own copy of an NSManagedObjectContext and
> an NSManagedObject subclass (I pass them the persistent store coordinator and
> an NSManagedObjectID that is permanent at that point).
>
> Canceling the NSOperation changes an attribute of the NSManagedObject
> subclass and I save the NSManagedObjectContext on the background thread after
> this change is made. This means that the NSManagedObjectContext on the main
> thread is now in conflict, and since all this happens in
> applicationWillTerminate:, it won't receive the
> NSManagedObjectContextDidSaveNotification so it can deal with it.
>
> My solution to this is to set the merge policy to
> NSMergeByPropertyStoreTrumpMergePolicy right before saving the main
> NSManagedObjectContext to give precedence to the already-saved context(s). I
> haven't been able to find any information about this scenario - the Core Data
> Programming Guide (in Communicating Changes Between Contexts) seems to
> suggest my approach (case 3b), although there in-memory changes are preferred
> over store changes.
>
> I always have a break point set on objc_exception_throw, and it hits this
> breakpoint in the call to save. This is the stack backtrace:
>
> #0 0x986d94e6 in objc_exception_throw ()
> #1 0x01dee37c in -[NSPersistentStoreCoordinator(_NSInternalMethods)
> executeRequest:withContext:] ()
> #2 0x01e22afe in -[NSManagedObjectContext save:] ()
> #3 0x000036b6 in -[MyAppDelegate applicationWillTerminate:]
> ...<snip>...
>
> However, if I remove the break point or hit continue, the application quits
> with an exit code of 0. If I wrap my [NSManagedObjectContext save] call in a
> @try @catch block, the @catch statements are never executed. So, is there an
> exception or isn't there? Should I rethink my approach? I'm just not sure
> what the issue is here.
>
> Any information is greatly appreciated!
>
> Thanks in advance,
> Hank_______________________________________________
>
> Cocoa-dev mailing list ([email protected])
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/atze%40freeport.de
>
> This email sent to [email protected]
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]