核心数据 - 如果在保存之前验证失败,则删除对象

时间:2015-10-22 00:09:36

标签: core-data

我有一个tap,当我保存NSManagedObject时,如果验证失败,我想删除自己,而不是仅仅停止保存并抛出错误。这样我的保存可以继续成功。

我只是喜欢在保存期间发生这种情况。我不确定NSManagedObjectContext是否适合这样做。是否有一个公认的惯例如何做到这一点?

1 个答案:

答案 0 :(得分:3)

首先,您最好在UI或网络层验证数据,而不是依靠持久层来进行验证。这将完全避免这个问题。

话虽如此,您可以在调用save之前运行-validateForUpdate-validateForInsert以确保对象有效。

您也可以触发错误,然后展开错误以找出哪些对象无效,删除它们然后重新保存。

与在保存(UI或网络层)之前正确验证数据相比,这两种解决方案都是草率的。