NSFetchedResultsController从两个实体iPhone SDK中获取和显示结果

时间:2009-12-05 04:54:35

标签: iphone iphone-sdk-3.0

我正在尝试改进iPhone的ToDo应用程序。

我有两个实体,1。任务2.项目

项目可以有多个任务,但任务可能没有任何项目或一个项目。

我一直在尝试使用NSFetchedResultsController在同一个UITableView中显示它们

是否可以从同一个UITableView获取两个实体并对它们进行显示/排序?

3 个答案:

答案 0 :(得分:1)

我不确定我完全理解,但您是否尝试在同一个UITableView中显示项目和任务?

在我的头脑中,我会说你想制作一个抽象的实体,“可显示”或类似的东西,并使其成为你的任务和项目实体的父级。 (假设它们在TableView中显示相同的内容)。然后获取所有这些,你将获得完整的结果集。

请注意,我自己没有尝试过,但理论上它应该做你想要的。

或者,如果这不是一个选项,你可以使用两个NSFetchedResultsControllers,每个实体一个,只需在你的rowForIndexPath :(或其他)方法中添加一些花哨的条件代码。但是,排序可能是个问题。

答案 1 :(得分:0)

您如何在Core Data中建模数据?我原以为你应该有一个Project实体,它通过双向关系拥有一个或多个Task实体。

然后,您可以拥有一个NSFetchedResults控制器来获取所有任务。任务实体将有一个项目成员,我或者可能不是。

在您的表格中,您可以显示任务列表及其详细信息以及项目详情。

  

任务1 - 购物   项目:   家

     

任务2 - 进行清洁   项目:   家

等等

答案 2 :(得分:0)

您需要一个两者都共有的抽象实体。这也可以让你定义一个属性,以便对各个部分进行排序。