除非使用KVC键值编码访问,否则不会自动调用验证

时间:2011-08-11 00:31:28

标签: objective-c validation key-value-coding

我实现了一个由coredata调用的KVC验证方法,但在我调用时没有被调用 person.name = @“alice”;

是否存在KVC验证方法的原因,在这种情况下,


- (BOOL)validateName:(id *)ioValue error:(NSError **)outError {
    NSLog(@"validateName is validating...");    
    // ...    
}
通过属性表达式设置值时,是否未调用

另一个问题是我不能让它工作:


[person setValue:@"ok" forKey:@"name"];

我的NSLog行永远不会被调用。

我缺少什么?

此类是NSManagedObject的子类。

这有关系吗?

谢谢,
杰米

1 个答案:

答案 0 :(得分:1)

根据Managed Object Validation文档,验证方法在保存上下文之前或手动验证(使用-validateForUpdate:-validateForInsert:-validateForDelete:)之前不会运行

相关问题