【发布时间】:2012-03-15 06:45:19
【问题描述】:
有一个Stumper(至少对我来说)。
我正在使用带有 ARC 的 iOS 5.0,以及 UIManagedDocument 中的 Core Data。
我有一个实体(组)与实体(人)之间存在一对多关系(称为人)。当我添加一个新组,然后添加一个新人员(将人员的 .group 关系设置为新组)时,我无法使用 Person 实体上的谓词检索相关人员 where ("group == %@", myGroup )。我还尝试使用 Group 的 addPerson 设置器。
如果我关闭 XCode 模拟器并重新运行它,它会识别上一次运行中创建的关系,我什至可以将新人添加到现有的 Group 对象中。我只是无法添加新组,然后在不关闭模拟器(或设备,如果我在设备上运行)的情况下添加人员以查看关系。
如果我执行 [group.people count],则在添加新组和相关人员后,它会立即为我提供正确的数字。但是在我重新启动应用程序之前,带有谓词的提取不起作用。
似乎 UIManagedDocument 的 managedObjectContext 没有看到关系。我试过保存上下文、保存 context.parentContext 和保存文档。这些都没有帮助。
任何想法都将不胜感激!
【问题讨论】:
-
你的模型中是否设置了反向关系?
-
是的。我有一个从 Group 到 Person 的一对多,命名为 people。以及从 Person 到 Group 的逆一对一,命名为 group。
标签: core-data ios5 uimanageddocument