Re: Cococa-Dev : was [coredata count not fulfill fault after object delete]
Re: Cococa-Dev : was [coredata count not fulfill fault after object delete]
- Subject: Re: Cococa-Dev : was [coredata count not fulfill fault after object delete]
- From: Martin Hewitson <email@hidden>
- Date: Tue, 08 Jan 2013 06:53:48 +0100
On Jan 7, 2013, at 08:44 PM, Mike Abdullah <email@hidden> wrote:
>
> On 7 Jan 2013, at 16:35, Martin Hewitson <email@hidden> wrote:
>
>> Hi Francisco,
>>
>> Thanks for the feedback!
>>
>> What you suggest sounds like it might fix the problem, but I'm wondering how best to do this. Currently I'm just calling -remove: on the tree controller to delete the selected object(s). Of course, if I clear the selection first, then -remove: doesn't do anything. I can grab an array of the selected objects before clearing the selection then use NSManagedObjectContext's -deleteObject:. So something like this:
>>
>> // get a pointer to the selected items
>> NSArray *items = [self selectedObjects];
>>
>> // clear selection
>> [self setSelectionIndexPaths:@[]];
>>
>> // now delete from the MOC
>> for (NSManagedObject *item in items) {
>> [self.managedObjectContext deleteObject:item];
>> [self.managedObjectContext processPendingChanges];
>> }
>>
>> Does that look sensible to you?
>
> Why are you calling -processPendingChanges at each iteration of the loop? Calling it yourself is rarely needed, and best done only with justification.
>
I read in that thread that I referenced (I think) that it may be necessary to do this to avoid/handle objects being deleted twice (if a parent and child are selected, then deleted). To be honest, I'm just trying things to see what works. Since this problem only occurs on 10.6.8, I think I'm looking for a work-around.
Martin
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden