On Dec 3, 2009, at 09:08, Sean McBride wrote: > Hi all, > > The docs for NSEntityDescription say > "initWithEntity:insertIntoManagedObjectContext: returns an instance of > the appropriate class for the entity". > > This seems to be mostly true. Yet when I do: > > [NSEntityDescription insertNewObjectForEntityForName:@"FooBar" > inManagedObjectContext:moc]; > > > it's giving me an NSManagedObject not an RRFooBar. I've confirmed that > by sending the class method and also sending message that only my > subclass responds to. I've confirmed that my xcdatamodel has specified > the right subclass (RRFooBar). > > This happens only during migration (the same code gives RRFooBar if > migration is not involved). Specifically during this partial backtrace: > > ... > -[NSEntityMigrationPolicy createRelat > ionshipsForDestinationInstance:entityMapping:manager:error:] > -[NSMigrationManager(InternalMethods) _doSecondPassForMapping:error:] > -[NSMigrationManager migrateStoreFrom > URL:type:options:withMappingModel:toD > estinationURL:destinationType:destinationOptions:error:] > ... > > Is this expected? >
This is expected. During migration, Core Data uses NSManagedObject instead of custom subclasses to contain object data. This is to avoid triggering application logic and/or validation rules in the classes during what should be a pure data transformation step. Any logic you need during migration should be encoded into the mapping model. +Melissa _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com