我在 .xcdatamodel
中为属性添加了最大/最小验证规则,如下所示:
然后如果我设置无效值并尝试像这样保存,它会像我预期的那样失败:
object.rating = 100
try? AppDelegate.context.save()
但是当我从上下文中重新获取对象时,它仍然包含无效的 .rating
,而不是验证之前的那个(仍在数据存储区中的那个)。
如果我重新启动应用程序,那么对象的 rating
将是旧的有效值。尝试保存失败后,如何让 managedObjectContext
刷新为数据存储中的值?
最佳答案
请试试这个:
managedObjectContext.refresh(managedObject, false)
它必须刷新托管对象上下文中的对象。 此外,您还可以使用:
managedObjectContext.reset()
它将在不保存的情况下重置上下文中的所有 managedObjects。
关于ios - 验证失败后刷新(重新加载)NSManagedObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41962695/