Strange Core Data save behaviour ("required relationship nil"... when it is set the line before saving)
Strange Core Data save behaviour ("required relationship nil"... when it is set the line before saving)
- Subject: Strange Core Data save behaviour ("required relationship nil"... when it is set the line before saving)
- From: Luke Evans <email@hidden>
- Date: Mon, 28 Sep 2009 17:20:36 -0700
I'm having some odd behaviour when saving a particular kind of change
and am having trouble groking was is going on.
I have an entity (A) that has a to-one relationship with another very
simple abstract entity (B), a kind of an enumeration, whose mere type
represents the value. As a kind of enumeration value, the B entity
has a fixed number of concrete subentities, with no properties, and
the B entity has a single relationship property pointing back to A
(i.e. this inverse relationship). The relationship from A to B is set
as required (non-optional) as I want to make sure that any saved A, is
defined properly with a particular B enumeration value which controls
behaviour.
None of that is _probably_ relevant, but it provides a little
background.
Now, I have some code that changes the value of the 'B enumeration
value' that A is using. This does the following:
1. Create a new instance of the B subentity that represents the value
we want (in the same MOC as A)
2. Delete the old B object that A was pointing to, i.e. [moc
deleteObject:B];
3. Set A's to-one relationship to point to the new B object (and for
good measure, set B's inverse relationship - though this should be
done automagically).
4. Save the moc
4. is where badness happens (failed to save). The error tells me that
A's relationship property to B is nil... but just before I do the save
I log the value of the object referenced by this relationship and it's
the new 'B' object!
I have no idea what I've done to upset Core Data such that it claims a
relationship is nil when I save, but the line before the [moc
save:&err], the relationship shows as referencing a perfectly good
object.
Right now I'm scratching my head to think of ways to better chase this
down. I'm posting now, just in case anyone has seen similar behaviour
and might have clue about cause or a way to diagnose.
Cheers
-- Luke
_______________________________________________
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