Re: Tiger problem after modifying managed object model at runtime
Re: Tiger problem after modifying managed object model at runtime
- Subject: Re: Tiger problem after modifying managed object model at runtime
- From: Kai BrĂ¼ning <email@hidden>
- Date: Thu, 29 Nov 2007 16:18:51 +0100
What I forgot to mention: The project is build with Xcode 3 against the Tiger SDK with Deployment Target set to 10.4.
Ka
>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