2

我有一个奇怪的问题。

所以构建一个使用核心数据的 iOS 应用程序。我有一个学生实体和一个会话实体。学生会议是一对多的。

在学生实体上,有一个称为“会话”的字段/关系来表示学生可以进行的许多会话。

在会话实体上,有一个名为“学生”的字段/关系来代表它所属的学生。

同样在学生实体上,有一个称为“会话”的字段/关系来表示学生所在的当前会话。

我遇到的问题是,当我结束学生会话并将会话属性设置为 nil ([student setSession:nil];) 时,会话上的学生属性也将无效。

当我尝试这样做时:

[session student]

我得到一个空值。

我能够解决这个问题的唯一方法是将“逆”类型设置为“无逆”,在这种情况下,使 [student setSession:nil] 无效不会使 [session student] 无效。但是我当然会收到关于“错误配置的属性”“Student.session 应该有一个逆”和“Session.student 应该有一个逆”的漂亮 xcode 警告

有没有办法让我保持反向关系,但当 student.session 设置为零时不会使 session.student 无效?我尝试将学生实体和会话实体的删除规则更改为“无操作”,但似乎没有帮助。

任何建议将不胜感激..也许没有相反的方法是正确的..只是想确保我做得正确。

谢谢!

4

1 回答 1

1

您可以使用反向关系“学生”定义从学生到会话的一对多关系“会话”,以及从学生到具有不同反向关系“当前学生”的会话的一对一关系“当前会话”。

于 2012-07-29T20:41:54.260 回答