在核心数据中,如果从另一端将非可选关系设置为nil会发生什么?

时间:2013-07-22 14:09:11

标签: objective-c core-data

我有一对一的关系,一端是可选的,另一端是非可选的,如果我从可选端设置为nil会发生什么?另一端会被删除吗?或者这会导致错误吗?

1 个答案:

答案 0 :(得分:2)

如果你有一对一的关系,并且你从一边设置为nil,那么另一边也设置为nil。这是反向关系如何运作的基本部分。

除非您删除它,否则不会删除任何内容。如果删除与另一个对象具有一对一关系的对象,则关系的删除规则将设置为" cascade",则相关对象也将被删除。这与将关系设置为nil分开。

这会导致错误吗?如果关系不是可选的,如果在关系为零时保存更改,则会出现错误。它被允许在记忆中为零;保存更改时,会检查可选标志。但在此之前,你可以将关系重新分配给非零的东西,或删除对象,而不是出错。