我有一个奇怪的问题。
因此构建一个使用核心数据的 iOS 应用程序。我有一个学生实体和一个 session 实体。 学生 session 是一对多的。
在学生实体上,有一个名为“ session ”的字段/关系,代表学生可以拥有的许多 session 。
在 session 实体上,有一个名为“student”的字段/关系,代表它所属的学生。
同样在学生实体上,有一个名为“session”的字段/关系来表示学生所在的当前类(class)。
我遇到的问题是,当我结束学生 session 并将 session 属性设置为 nil ([student setSession:nil];) 时, session 中的学生属性也会被取消。
当我尝试做的时候:
[session student]
我得到一个空值。
我能够解决这个问题的唯一方法是将“Inverse”类型设置为“No Inverse”,在这种情况下,使 [student setSession:nil] 无效不会使 [session student] 无效。但当然我得到了关于“配置错误的属性”的漂亮的 xcode 警告“Student.session 应该有一个反”和“Session.student 应该有一个反”
有没有办法让我保持反向关系,但在 student.session 设置为 nil 时不使 session.student 无效?我尝试将 Student 实体和 Session 实体的删除规则更改为“无操作”,但它似乎没有帮助。
任何建议将不胜感激..也许没有逆是正确的方法..只是想确保我做的是正确的。
谢谢!
最佳答案
您可以定义从学生到 session 的一对多关系“ session ”和反向关系“学生”,以及从学生到 session 的一对一关系“current_session”,不同 反向关系“current_student”。
关于ios - 如何使核心数据反向关系不是两个引用都为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11712402/