Core data 核心数据-保存前验证失败时删除对象

Core data 核心数据-保存前验证失败时删除对象,core-data,Core Data,我有一个NSManagedObject当我保存我的NSManagedObjectContext时,如果验证失败,我想删除它本身,而不仅仅是停止保存上下文并抛出错误。这样,我的保存可以成功继续 我只希望这发生在一次拯救中。我不确定validateForUpdate()是否是执行此操作的正确位置。对于如何进行验证,是否有公认的惯例?首先,最好在UI或网络层中验证数据,而不是依赖持久性层进行验证。这将完全避免这个问题 话虽如此,您可以在调用save之前运行-validateForUpdate和-val

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


我只希望这发生在一次拯救中。我不确定
validateForUpdate()
是否是执行此操作的正确位置。对于如何进行验证,是否有公认的惯例?

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

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

您还可以触发错误,然后展开错误,找出哪些对象无效,删除它们,然后再次保存


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

谢谢。当相关时,我将在UI中进行验证。当我有一个具有对多关系的对象,并且最后一个对象从关系中移除时,我会尝试这样做。(我的最小计数为1)以便删除对象。我不想使用cascade,因为我只想在对象没有剩余关系时将其删除。当对象没有相关对象时,您可以将其删除。