合并2个屏幕与2个实体

时间:2012-05-09 09:18:55

标签: iphone objective-c ios xcode core-data

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

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

什么是最佳解决方案?

  • 我是否必须重写我的模型以合并这两个实体(这是一个问题,因为2个实体有点不同)
  • 我可以告诉我的NSFetchedResultsController获取2个实体吗?怎么样?
  • 我可以告诉我的NSFetchedResultsController获取Element实体,然后预测这些实体吗?怎么样?

提前谢谢!

2 个答案:

答案 0 :(得分:0)

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

我还会考虑一种能满足您营销需求的不同方法。你可以只执行两次不同的提取而不是结合结果。

答案 1 :(得分:0)

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

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

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

我现在正致力于将旧模型迁移到新模型中。

这篇文章可能有一天会有用......