我实现了一个由coredata调用的KVC验证方法,但在我调用时没有被调用 person.name = @“alice”;
是否存在KVC验证方法的原因,在这种情况下,
- (BOOL)validateName:(id *)ioValue error:(NSError **)outError {
NSLog(@"validateName is validating...");
// ...
}
通过属性表达式设置值时,是否未调用?
另一个问题是我不能让它工作:
[person setValue:@"ok" forKey:@"name"];
我的NSLog行永远不会被调用。
我缺少什么?
此类是NSManagedObject的子类。
这有关系吗?
谢谢,
杰米
答案 0 :(得分:1)
根据Managed Object Validation文档,验证方法在保存上下文之前或手动验证(使用-validateForUpdate:
,-validateForInsert:
或-validateForDelete:
)之前不会运行