In MTLManagedObjectAdapater.m
if (managedObject == nil) {
managedObject = [entityDescriptionClass insertNewObjectForEntityForName:entityName inManagedObjectContext:context];
} else {
// Our CoreData store already has data for this model, we need to merge
[self mergeValuesOfModel:model forKeysFromManagedObject:managedObject];
}
I see that you give user a chance to merge themselves before those serializeAttribute blocks get called.
I just wonder what mergeValueForKey:fromManagedObject: is used for? It seems to be overridden by serializeAttribute blocks