It seems that setNilValueForKey:
is never called if the dynamically generated accessor methods are used.
If you provide a custom setter method for the "processID" property in "Run.m":
- (void)setProcessID:(NSInteger)processID
{
[self willChangeValueForKey:@"processID"];
[self setPrimitiveValue:@(processID) forKey:@"processID"];
[self didChangeValueForKey:@"processID"];
}
then
[run setValue:nil forKey:@"processID"]
causes setNilValueForKey:
to be called.
That is only what I experienced by try and error, I do not have official references for this. But the "Core Data Utility Tutorial" exists since Mac OS X 10.4, where dynamically generated accessor methods (as far as I know) did not yet exist. So it could be that the parts about setNilValueForKey:
where not updated for 10.5. But that is pure guessing on my side.