1
是否有可能如何确定NSManagedObject
是否有效,而不实际保存?你可以在不保存的情况下验证NSManagedObject吗?
似乎应该有一个isValid
函数,或者某种方式请求NSManagedObjectContext
运行验证特定的对象,而不实际保存。
我能想到的唯一解决方法是将对象拉入临时子上下文中,“触摸”它以便将其视为已更新,然后尝试保存子上下文。但这似乎很野蛮。
是否有可能如何确定NSManagedObject
是否有效,而不实际保存?你可以在不保存的情况下验证NSManagedObject吗?
似乎应该有一个isValid
函数,或者某种方式请求NSManagedObjectContext
运行验证特定的对象,而不实际保存。
我能想到的唯一解决方法是将对象拉入临时子上下文中,“触摸”它以便将其视为已更新,然后尝试保存子上下文。但这似乎很野蛮。
您可以拨打validateForInsert
或validateForUpdate
。
您是否看到过内建于关键值编码的验证函数 - 请参阅[本文档](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/KeyValueCoding/ValidatingProperties.html#//apple_ref/DOC/UID/10000107i-CH18-SW1)?我认为CoreData会自动使用它们,但没有理由不能手动触发它们。 – pbasdf
谢谢。我曾假设他们只是为了压倒一切并进行跨性能验证。没有意识到他们也触发了基于财产的验证程序。 –