我最近问this question关于如何最好地检索并在表格视图中显示我的FRC用于节标题的标题。

在@Mike Pollard在对我的问题的第二个答案中提出了一系列研究建议之后,我遇到了this question并立即被与我所处情况的相似性以及@aroth发布的第四个答案所震惊。

Aroth的方法肯定听起来不错,并且我创建了一个新的Category实体。具体而言,类别与Item具有一对多关系,而Item与Category具有一对一关系。但是,我在理解他提出的解决方案中隐含的一个方面时遇到了麻烦,并且更根本地,在这种关系中:

就我而言,类别和项目(在我的案例中,“项目”都称为“ ListActivity”,但“项目”将用于说明目的)将通过两个相应的用户输入字段来命名似乎可能会导致“类别”列表中多个具有相同名称的条目。

我的问题:

如何在获取类别列表时确保获得每个类别的单个实例,即表视图中每行一个类别,并且没有重复?核心数据会通过关系自动将每个新传入的项目分配给适当类别的单个实例吗?还是在收到获取请求后以某种方式测试并按类别列表将列表降到最低一个条目?还是必须在获取请求中使用谓词进行过滤?

谢谢!

最佳答案

核心数据将按照您的指示进行。这听起来像是与您在数据存储中创建内容有关的问题,而不是与FRC和表视图有关的问题。搜索和重用现有对象而不是创建重复对象并将它们添加到商店是您的责任-实际上,只有您(您的代码)知道什么构成重复对象。

因此,基本上,在创建新项目时,请使用获取请求和谓词查找合适的现有类别(或根据部分输入的名称建议类别)。然后,连接到现有类别或创建一个新类别。

关于ios - iOS通过关系检索和排序核心数据实体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21974500/

10-09 16:24
查看更多