iphone - 核心数据关系错误(不是延迟加载)。关系消失

标签 iphone core-data entity-relationship one-to-many fault

我有一个核心数据数据库,其中(目前)有 2 个实体 Product 和 CompetingProduct,CompetingProduct 关系设置为与产品的多对多关系。

我创建了 2 个模拟产品和 2 个模拟竞争产品,并设置它们之间的关系..一切都有效文件..保存到数据库,还有 NSlog,“po”它们..一切都很好。

现在..当我重新启动应用程序或我从不同 View 请求竞争产品类型的所有对象时..我得到<竞争产品和产品之间的关系的强>关系错误(尽管我之前添加了它们,并保存了)

我知道关于数据核心的延迟加载,但情况并非如此,因为当我尝试 [NSSet allObjects] (也 po、nslog - 无)时,它返回 0 个对象,这些对象通常应该获取对象。

注意:在我调用 saveChanges 之后 - 一切正常

绝对任何帮助都会感激赢得我的尊重,当然还有几杯啤酒

谢谢!

最佳答案

如果我对问题描述的理解正确的话,可能是因为没有设置CompetingProduct到Product的相互关系造成的。

如果关系是:

Product-->CompetingProduct

...而不是:

Product<-->CompetingProduct

...那么您将能够找到从产品开始的竞争产品,但您将能够通过从竞争产品开始找到产品。

如果这不是问题,那么听起来您可能有多个上下文,并且没有保存所做更改的上下文。

关于iphone - 核心数据关系错误(不是延迟加载)。关系消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3954384/

相关文章:

iphone - 使用高斯模糊创建半透明的 UIView

iphone - 通过以编程方式设置 key 动态创建 NSPredicate

jpa - 持久化一对多关系

iphone - PlaySystemSound 静音开关打开

iphone - UIDocumentInteractionController presentPreviewAnimated : returning NO and not showing preview

iPhone iOS 如何从相机胶卷图像中提取照片元数据和地理标记信息?

core-data - 无法将 'NSSet?' 类型的值转换为预期的参数类型 'Range<Int>'(使用 CoreData)

iphone - Core Data 管理对象上下文线程同步

mysql - 此 ER 图是否应改用三元关系

具有多个多对多关系的数据库设计