是的,这样做很好。您可以通过 a或categorycustom在您的子类上执行此操作。settersgettersNSManagedObject
但是,请注意您的自定义setters和getters.
您将需要使用NSManagedObject的实例方法来获取和设置原始值(由数据模型管理)。
要获取原语,请使用primitiveValueForKey:. 对于设置,使用setPrimitiveValue:forKey:.
在这种情况下,我会为password您的子类的属性创建一个自定义设置器NSManagedObject。
像这样的东西
- (void)setPassword:(NSString *)password
{
BOOL shouldSetPassword = ... // your custom logic here to determine if the password should be set or not
if (!shouldSetPassword)
return;
NSString *key = @"password";
NSString *value = [self primitiveValueForKey:key];
if (value == password)
return;
[self willChangeValueForKey:key];
[self setPrimitiveValue:password forKey:key];
[self didChangeValueForKey:key];
}