• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Core Data: Determine if managed object is deleted
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Core Data: Determine if managed object is deleted


  • Subject: Re: Core Data: Determine if managed object is deleted
  • From: Jerry Krinock <email@hidden>
  • Date: Fri, 21 Oct 2011 21:35:30 -0700

On 2011 Oct 21, at 08:57, David Riggle wrote:

> - (BOOL)retainedObjectHasBeenDeleted
> {
> 	// if object has been deleted, then it no longer exists
> 	if ([self isDeleted]) return YES;
> 	// otherwise, see if object with this ID exists in the database
> 	NSManagedObjectContext *context = [self managedObjectContext];
> 	if (context == nil) return YES;
> 	NSManagedObjectID *objectID = [self objectID];
> 	if (objectID == nil) return YES;
> 	NSManagedObject *obj = [context objectRegisteredForID:objectID];
> 	return obj == nil;
> }

Interesting, David.

Why do you check for the object ID?  Have you ever seen an object which passed the first two tests (not isDeleted, has MOC), but then didn't have an objectID?  How could that happen?

> I'm currently experimenting with the following to see if it's as safe and perhaps faster…

Are you having performance issues with your original -retainedObjectHasBeenDeleted?

In my world, -retainedObjectHasBeenDeleted is only going to be invoked in corner cases, but documentation states that -prepareForDeletion is invoked "when the receiver is about to be deleted".  That may be quite often in some use cases.  Also, there is another definition trap there – what does "when the receiver is about to be deleted" mean?  How will that be interpreted by an Apple engineer who adds some new object-deleting method to support iCloud 2.0 in Mac OS 10.8?  Plus, what Dave Fernandes noted.

I think that your original -retainedObjectHasBeenDeleted is fine and I wouldn't mess with it if I were you.

_______________________________________________

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

  • Follow-Ups:
    • Re: Core Data: Determine if managed object is deleted
      • From: Mike Abdullah <email@hidden>
References: 
 >Re: Core Data: Determine if managed object is deleted (From: David Riggle <email@hidden>)

  • Prev by Date: Re: Can I jsut use @2x images without supplying a @1x image?
  • Next by Date: CAShapeLayer as a mask for CALayer: rounded corners are stretched
  • Previous by thread: Re: Core Data: Determine if managed object is deleted
  • Next by thread: Re: Core Data: Determine if managed object is deleted
  • Index(es):
    • Date
    • Thread