我正在尝试使用SplitView来显示有关员工的信息。主要部分中有一个部门列表。单击部门时,需要在详细信息中显示在所选部门工作的雇主列表。 我正在使用CoreData和两个实体:"部门"和"员工"与“多对多”关系相关联。 我该怎么办?
由于
答案 0 :(得分:0)
这是一个简化的概述,因为您提出了一个非常广泛的问题。
创建一个UITableViewController
子类作为您的主视图。它应该具有类型NSManagedObjectContext
的属性,它应该处理获取和显示部门。 (您可以在loadView
中抓取它们,也可以使用NSFetchedResultsController
...)
创建另一个UITableViewController
子类作为您的详细信息视图。为其提供类型为NSManagedObjectContext
的属性,以及类型为Department
的属性。使其显示该部门的员工。只要department
属性发生变化,您就会重新加载数据。
向主视图控制器添加属性,以引用详细视图控制器(因此类型为EmployeeViewController
的属性,或者您调用的任何属性)。然后在主视图控制器的tableView:didSelectRowAtIndexPath:
中,设置self.employeeViewController.department = <selected department>
。
创建拆分视图控制器。如果这是应用程序的顶级视图,您将需要在应用程序委托中创建它,否则在视图控制器中将其创建到堆栈中。这是如何做到的(伪代码):
employeeViewController
属性设置为详细视图控制器viewControllers
属性设置为包含主视图控制器和详细视图控制器的数组applicationDidFinishLaunching:
中的根视图控制器。