0

我创建了一个 iOS 应用程序,允许我将数据输入数据库,然后在 tableview 中显示(使用 NSFetchedResultsController 和 tableView cellForRowAtIndexPath)。这行得通。现在,我添加了 3 个一对多关系和另一个实体,我需要从数据库加载实体(在一对多的一侧),而不是直接从数据库中拉取它,以便数据可以在关系中使用。我还使用 NSFetchedResultsController 吗?

relationshipEntity2 是 Entity1 和 Entity2 之间的一对多关系。许多指向Entity2

我知道我应该使用:

Entity2 *entity2 = [[self.entity1.relationshipEntity2 allObjects] 
   objectAtIndex:indexPath.row];

我是 iOS 开发的新手,甚至对 Core Data 也很陌生,但我必须学习它。任何帮助或指向我尚未遇到的书籍或教程将不胜感激。我没有太多运气找到任何可以做我应该做的事情。

谢谢,祝您度过愉快的一周!

--------添加了有关项目的更多描述-----
我的任务是拥有一个带有 3 部分分段按钮的视图控制器。还有一个添加 UIButton 弹出一个视图(将子视图带到前面,而不是弹出框),其中包含一个 UITextField 用于输入以添加到视图控制器上的表视图中。有 2 个实体和三个一对多关系。分段按钮上的每个按钮都有 1 个关系。如果用户选择了分段按钮的第一部分,将值添加到弹出文本框,则应仅将其添加到选择第一个分段按钮时看到的表格视图中。我创建了 CoreDataGeneratedAccessors。我让这个项目将数据保存到数据库并获取数据以显示在表视图中,但那是在添加分段部分之前。现在我必须弄清楚将数据分成“集合” 然后在选择分段按钮的第一段时显示所有说的第一个集合。我只是在学习,只是在没有分段部分的情况下弄清楚了,现在它在我身上发生了变化。我使用过关系数据库,但在 iOS 中它似乎又是新的了。

4

1 回答 1

1

你的问题一点都不清楚。你没有描述任何问题,也没有清楚地解释你想要完成的事情。

试图推断你的意思:是的,你会继续使用你的 fetchedResultsController。此控制器为您提供每个 indexPath 的正确对象。在构建单元格内容时,您可以轻松地使用entity.relationship.

上面的代码将不起作用,因为entity.relationship返回NSSet一个无序的对象组。(附加的allObjects没有任何作用并且是多余的。)因此,objectAtIndex将不起作用(这只适用于NSArray对象)。

希望这可以帮助。

于 2012-04-30T19:27:16.820 回答