【发布时间】:2012-02-07 21:36:55
【问题描述】:
我一直在学习 CoreData 以在我的应用程序中使用它,但在生成 sql 模型时遇到了一些问题。
我想拥有两个实体(至少)。一个是Items,另一个是History。
逻辑:每个历史实体都应该没有或有很多Items。 Items 不应相互重复 - 唯一性。
如何在 Xcode 中对此进行建模?我需要像“History2Items”这样的链接实体吗?
我已经为此苦苦挣扎了一段时间,但我可以找出正确的解决方案。
有什么帮助吗?
更新:
我做了这个模型:
为了获取数据,我使用了关系进行预取:
[request setRelationshipKeyPathsForPrefetching:[NSArray arrayWithObject:@"item"]];
这就是我为每个历史获取项目的方式:
History *history = [self.historyArray objectAtIndex:indexPath.row]; NSMutableArray *items = [NSMutableArray arrayWithArray:[history.item allObjects]];
只需遍历 items 数组以获取每个 Item。
就这么简单。感谢@Ashley Mills。
【问题讨论】:
-
我不确定,因为我目前没有任何 Xcode。但据我所知,您可以在图形编辑器中创建两个实体并将它们连接起来并设置适当的关系(1:n、n:1、1:1 等)
-
这就是我所做的,但不起作用。我需要某种“链接”实体。看看我下面的回答答案 1。
标签: ios database sqlite core-data model