Core Data在设置时会自动验证新值吗?

时间:2010-06-08 08:20:43

标签: iphone core-data

this question中,有人问如何为Core Data编写验证方法。我做到了,看起来很酷。但有一件事情不会发生:验证。我可以轻松设置任何“坏”值,并且不会自动调用此方法。这背后的概念是什么?在设置任何值之前,我必须始终先调用验证方法吗?那么我会编写首先调用适当验证方法的setter方法吗?

如果是,那么在如何编写验证方法签名时遵循严格约定的重点是什么?我想还有一些自动验证方法。如何激活?

1 个答案:

答案 0 :(得分:3)

验证不是“自动”,特别是在iOS上。在桌面上,您将拥有处理验证调用的UI元素。在iOS上,您应该使用适当的密钥调用validateValue:forKey:error:并处理错误(如果有的话)。原因是iOS上缺少标准错误显示以及验证所有值的开销。

请注意文档中的这条评论:

  

如果您实现了自定义验证方法,通常不应直接调用它们。相反,您应该使用适当的密钥调用validateValue:forKey:error :.这可确保也应用托管对象模型中定义的任何约束。