0

我有 4 个 UITableView,它代表我的 UITabBar 中的 4 个选项卡。所以我有一个独特的自定义 TableViewController,它根据它必须显示的实体(在 CoreData 上)控制每个屏幕。为了从 CoreData 中获取元素,我使用 NSFetchedResultsController。

但我的问题是,出于营销原因,我必须合并 2 个屏幕,这意味着在同一屏幕上显示 2 个实体。所以我必须从 2 个不同的实体中获取元素。我还有一个抽象实体“元素”,它是一个超类,我在 TableViewController 中使用它来抽象地控制每个实体。

什么是最好的解决方案?

  • 我是否必须重写我的模型来合并这两个实体(这是一个问题,因为这两个实体有点不同)
  • 我可以告诉我的 NSFetchedResultsController 获取 2 个实体吗?如何 ?
  • 我可以告诉我的 NSFetchedResultsController 来获取 Element 实体,然后再对这些实体进行谓词吗?如何 ?

先感谢您 !

4

2 回答 2

0

三者中最好的解决方案是使用正确的谓词获取 Element 实体。NSfetchRequest 只能获取一个实体..

我还会考虑一种不同的方法来满足您的营销需求。您可以只执行两个不同的提取,然后组合结果..

于 2012-05-09T09:47:04.667 回答
0

我终于找到了一个我没有提出的解决方案。

我添加了一个新的抽象实体,它是我想要合并的 2 的超类,但它也是一个“元素”子级。

所以我的 ElementListViewController 仍然显示“元素”,我可以为我的屏幕显示合并的实体。

我现在正在努力将旧模型迁移到新模型。

愿这篇文章有一天对您有所帮助...

于 2012-05-14T11:45:09.223 回答