Core El atributo de datos cambia a cero (¿relacionado con ARC?)

Tengo algunas funciones de Core Data que funcionaban bien hasta que se hicieron algunos cambios recientes (aparentemente no relacionados). Ahora tengo problemas en los que todos los atributos que pertenecen a una instancia de subclase NSManagedObject en particular devuelven de repente nil.

Digamos que mi subclase NSManagedObject se llama Foo y solo tiene un atributo llamado valor. Una vez que me di cuenta de que el valor de alguna manera se estaba volviendo nulo, fui y configuré la siguiente categoría para monitorear los cambios en el valor.

@implementation Foo (Debug)

- (void)setValue:(NSDate *)value
{
    [self willChangeValueForKey:@"value"];
    [self setPrimitiveValue:value forKey:@"value"];     
    [self didChangeValueForKey:@"value"];
}

- (NSDate *)value
{
    [self willAccessValueForKey:@"value"];
    NSDate *value = [self primitiveValueForKey:@"value"];
    [self didAccessValueForKey:@"value"];

    return value;
}

@end

setValue: se llama para mi objeto y el argumento pasado es un NSDate no nulo. Luego se recupera el valor (en otro método). El mismo valor que se especificó se recupera correctamente.

in embargo, cuando otro método intenta leer el valor, se llama al descriptor de acceso de valor y primitiveValueForKey devuelve un valor nulo:.

In entre las dos lecturas setValue: no se llama y el objeto Foo en sí sigue siendo válido (no nulo). De hecho, no se realizan otras operaciones de Core Data entre las dos lecturas en ningún objeto de Core Data o el contexto en su conjunto.

Estamos utilizando ARC en nuestro proyecto. ¿Es posible que ARC esté jugando de alguna manera con mis variables de datos básicos y las desasigne? Si es así, ¿alguien tiene alguna sugerencia para depurar las asignaciones de negocios ARC? O mejor aún, ¿alguien sabe una manera de asegurarse de que ARC no desasigne mi variable.

Esto puede que ni siquiera esté relacionado con ARC, sin embargo, estoy un poco perdido en cuanto a lo que está sucediendo. Cualquier sugerencia sería muy apreciada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta