Tiger problem after modifying managed object model at runtime
Tiger problem after modifying managed object model at runtime
- Subject: Tiger problem after modifying managed object model at runtime
- From: Kai BrĂ¼ning <email@hidden>
- Date: Thu, 29 Nov 2007 15:44:08 +0100
I am modifying a managed object model at runtime after having merged
it from separate .mom files (see also my earlier post "Core Data:
Cross-Model Relationships").
The modification is setting up a few relationships between the now
merged models. It works all nice under Leopard, but fails under
Tiger. The modifications are done under Tiger, too, as far as I
checked it in the debugger. But when trying to create entities with
the resulting model, I get an exception saying "<FCTableLineItem
0x4f2210> setValue:forUndefinedKey:]: this class is not key value
coding-compliant for the key usedByInvoiceItems." when trying to
insertNewObjectForEntityForName for entity "TableLineItem":
#0 in -[NSException raise]
#1 in -[NSFaultHandler fulfillFault:withContext:]
#2 in -[NSManagedObjectContext(_NSInternalAdditions)
_insertObjectWithGlobalID:globalID:]
#3 in -[NSManagedObjectContext insertObject:]
#4 in -[NSManagedObject initWithEntity:insertIntoManagedObjectContext:]
#5 in +[NSEntityDescription
insertNewObjectForEntityForName:inManagedObjectContext:]
#6 in createTableItem at DataGenerators.m:70
"usedByInvoiceItems" is indeed one of the relationships which I add
programmatically for "TableItem", which is the parent of
"TableLineItem".
Before getting to this point, I already used
insertNewObjectForEntityForName successfully for another entity with
an added relationship, but this time the relationship was added to
the entity being inserted itself, not its parent (no parent in this
case at all).
Therefore I speculated that Tiger does not update some cache in a sub
entity after the relationship has been added to the parent. I added
the following code after adding the relationship to trigger
rechecking the parent, but with no avail:
NSArray* subentities = [entity subentities];
if (subentities && [subentities count] > 0) {
[entity setSubentities:[NSArray array]];
[entity setSubentities:subentities];
}
Any work around would be appreciated.
Best
Kai
_______________________________________________
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