• 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
Tiger problem after modifying managed object model at runtime
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • Follow-Ups:
    • Re: Tiger problem after modifying managed object model at runtime
      • From: Kai BrĂ¼ning <email@hidden>
  • Prev by Date: Re: NSPredicate and square brackets
  • Next by Date: Re: NSTableView - Leopard - Tooltips
  • Previous by thread: Re: Dev tools private frameworks.
  • Next by thread: Re: Tiger problem after modifying managed object model at runtime
  • Index(es):
    • Date
    • Thread