Como definir valores padrão em novas propriedades para entidades existentes após a migração leve de dados principais?
Concluí com êxito a migração leve no meu modelo de dados principal.
Minha entidade personalizada O veículo recebeu uma nova propriedade 'tirePressure', que é uma propriedade opcional do tipo double com o valor padrão 0.00.
Quando os veículos 'antigos' são buscados na loja (veículos criados antes da migração), o valor da propriedade 'tirePressure' é nulo. (Esse comportamento é esperado?)
Então eu pensei: "Não tem problema, eu vou fazer isso na classe Vehicle:"
- (void)awakeFromFetch {
[super awakeFromFetch];
if (nil == self.tirePressure) {
[self willChangeValueForKey:@"tirePressure"];
self.tirePressure = [NSNumber numberWithDouble:0.0];
[self didChangeValueForKey:@"tirePressure"];
}
}
Desde a "o processamento de alterações está explicitamente desativado em" awakeFromFetch Pensei que as chamadas para willChangeValueForKey e didChangeValueForKey marcariam 'tirePresure' como sujo.
Mas eles nã
Cada vez que esses veículos são buscados na loja 'TirePressure' continua nulo, apesar de salvar o context