首页 文章

iOS - 核心数据 - 一个UIViewController中的多个NSFetchedResultsController

提问于
浏览
8

我正在尝试构建一个使用Core Data的iPad应用程序 . 但我面临着设计和编码问题 . 假设我在窗口和视图控制器中添加了一个UIViewController,我需要显示两个tableviews(2个不同的实体)和2个视图(另外2个实体)(所以我需要为一个UIViewController获取4个entotes) . 我只找到了解释如何将NSFetchedResultsController与一个UITableView一起使用的教程!

我的问题是:我应该在viewController中声明2个UITableView和2个NSFetchedResultsController吗?或者我应该声明2 UITableViewController,然后在每个内部声明一个NSFetchedResultsController?其他两个观点怎么样?我应该使用NSFetchRequest?如果是的话,在哪里?在视图内部或UIViewController内部?

我知道这是一个很多问题:) . 在此先感谢您的帮助 .

2 回答

  • 8

    是的,您将需要使用2个NSFetchedResultsController,每个UITableView一个 . NSFetchedResultsController采用NSFetchRequest,因此您需要根据需要在UITableViews中显示的数据来设置NSFetchRequests .

    您应该将所有这些控制器逻辑放在UIViewController子类中 .

    在单个UIViewController中包含多个UITableView是很好的,只需记住委托和数据源方法 . 您必须测试UITableView参数以查看哪个表要求数据/委派处理 .

  • 1

    你如何一次显示两个视图?无论你是在做什么,我都会建议使用双控制器方法,也许还有一个包装类,它包含两者并控制它们之间的任何交互 . 在我看来,这与MVC范例最合适 .

相关问题