• 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
Core Data - Cascading Not Working?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Core Data - Cascading Not Working?


  • Subject: Core Data - Cascading Not Working?
  • From: William Hunt <email@hidden>
  • Date: Wed, 12 Mar 2008 18:59:20 -0700

Hello, again!

Ok, my new problem deals with a very simple object graph that isn't propagating deletes as I expect. Here's the simplified setup:

Entity: Map
has a to-many relationship "rooms" to entity Room -- delete rule Cascade

Entity: Room
has a to-one relationship "map" to entity Map -- delete rule Nullify

These relationships are setup as inverses of each other.

My expectation is that if I delete a map entity, it will also delete all rooms objects it references.

Now here's my test code:

- (void) testMapRoomCascade
{
    NSError *error = nil;

[self createMapAndRoom1];
NSArray *allRooms = [map allRooms: &error];
int nRooms = [allRooms count];
STAssertEquals( 1, nRooms, @"Map should have 1 room after creating map and room." );


    NSArray *allMaps = [map allMaps: &error];
    [map delete: [allMaps objectAtIndex: 0]];

int nMaps = [[map allMaps: &error] count];
STAssertEquals( 0, nMaps, @"Map should have 0 maps after map deletion." );


allRooms = [map allRooms: &error];
nRooms = [allRooms count];
STAssertEquals( 0, nRooms, @"Map should have 0 rooms after map deletion due to cascade delete rule." ); // <--- This is the error, since nRooms is still 1!
}


Why isn't the map deletion cascading and causing the room to be deleted? For what it's worth, I also tried saving the context after the delete to see if I could force it to propagate, but that didn't work either.

Wil

--
Wil Hunt

"Life is the art of drawing sufficient conclusions from insufficient premises."
-- Samuel Butler



_______________________________________________

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


  • Prev by Date: Re: Ignore mouse in QTMovieView
  • Next by Date: Re: performSelectorOnMainThread problem
  • Previous by thread: Re: performSelectorOnMainThread problem
  • Next by thread: IKSlideshow
  • Index(es):
    • Date
    • Thread