NSManagedObject Class y creando un método Setter

Entonces, en una class regular, puede anular el método setter para una propiedad de class:

-(void)setSortBy:(NSString *)sortBy { // Do other stuff _sortBy = sortBy; } 

usando el _ evita un bucle infinito del método llamándose a sí mismo.

Estoy intentando hacer algo similar con una class NSManagedObject , pero no da la opción de usar el guión bajo (_):

 -(void)setHasNewData:(NSNumber *)hasNewData { // update self.modifiyDate _hasNewData = hasNewData; } 

Me da un error y sugiere que reemplace _hasNewData a hasNewData .

¿Es así como debería hacerse o me dará un bucle infinito?

Quiero que actualice la propiedad modifyDate cada vez que establezca hasNewData .

Su primer ejemplo para una "class normal" funciona si _sortBy es la variable de instancia que respalda la propiedad sortBy (por ejemplo, la variable de instancia sintetizada pnetworkingeterminada para esa propiedad).

Pero las properties de los datos centrales no son respaldadas por variables de instancia. Al anular los accesores de datos básicos, debe usar los "accesores primitivos" y también activar las notifications de observación de valores key:

 -(void)setHasNewData:(NSNumber *)hasNewData { [self willChangeValueForKey:@"hasNewData"]; [self setPrimitiveValue:hasNewData forKey:@"hasNewData"]; [self didChangeValueForKey:@"hasNewData"]; // do other things, eg self.modifyDate = ...; } 

Se pueden encontrar más ejemplos en la "Guía de progtwigción de datos básicos".