我在核心数据中有一个实体,它有一个需要唯一的属性。没有办法在可视化界面中设置它。我假设我需要创建一个继承自 NSManagedObject 的自定义类,然后编写我自己的验证方法。
我通过在可视化编辑器中选择实体并选择文件 -> 新建 -> 新建文件 -> NSManagedObject 子类成功创建了自定义类。我用它来添加创建时间戳,所以我知道它有效。
但是现在呢?我需要哪些方法?
NSManagedObject reference guide告诉我“实现形式为 validate:error: 的方法”,但没有提供示例。
一个完整的例子会很棒,但非常感谢任何帮助。
最佳答案
假设您拥有属性(property) foo
你想验证
来自 Property-Level Validation :
If you want to implement logic in addition to the constraints you provide in the managed object model, you should not override
validateValue:forKey:error:
. Instead you should implement methods of the formvalidate<Key>:error:
.
在哪里<Key>
是你的属性(property)。你实际上会实现类似的东西:
-(BOOL)validateFoo:(id *)ioValue error:(NSError **)outError {
return [self isUnique];
}
关于ios - 如何在 Core Data 中进行自定义验证(为了唯一性)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8891110/