Сложно без реального кода, но есть вещи, которые вы можете попробовать:
Переопределите сеттер и установите точку останова, чтобы вы могли видеть, когда она вызывается.
- (void)set<#Capitalized property name#>:(<#Property type#> *)value
{
[self willChangeValueForKey:@"<#Property name#>"];
[self setPrimitiveValue:value forKey:@"<#Property name#>"];
[self didChangeValueForKey:@"<#Property name#>"];
}
ИЛИ попробуйте использовать KVO для той же цели (см., Когда значения изменяются)
[theObject addObserver:theObserver forKeyPath:@"keyPath" options:0 context:nil];
Убедитесь, что вы не переопределили willSave
чем-либо, что меняет значение.
Убедитесь, что это точно тот же объект, который был сохранен / извлечен?