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

Reply via email to