我正在尝试使用 SplitView 来显示有关员工的信息。Master部分有一个部门列表。单击部门时,需要在详细信息中显示在所选部门工作的雇主列表。我正在将 CoreData 与两个实体一起使用:“部门”和“员工”,它们与“对多”关系相连。我该怎么做?
谢谢
我正在尝试使用 SplitView 来显示有关员工的信息。Master部分有一个部门列表。单击部门时,需要在详细信息中显示在所选部门工作的雇主列表。我正在将 CoreData 与两个实体一起使用:“部门”和“员工”,它们与“对多”关系相连。我该怎么做?
谢谢
这是一个简化的概述,因为您提出了一个非常广泛的问题。
创建一个UITableViewController
子类作为您的主视图。它应该有一个 type 的属性NSManagedObjectContext
,它应该处理获取和显示部门。(你可以把它们拿进来loadView
,或者你可以用NSFetchedResultsController
……)
创建另一个UITableViewController
子类作为您的详细视图。给它一个 type 的属性NSManagedObjectContext
,还有一个 type 的属性Department
。让它显示该部门的员工。您需要让它在department
属性更改时重新加载其数据。
向您的主视图控制器添加一个属性,以引用详细视图控制器(因此是 type 的属性EmployeeViewController
,或者您称之为的任何内容)。然后在tableView:didSelectRowAtIndexPath:
您的主视图控制器中,设置self.employeeViewController.department = <selected department>
.
创建拆分视图控制器。如果这是您的应用程序的顶级视图,您将希望在您的应用程序委托中创建它,否则在将其推送到堆栈的视图控制器中创建它。这是如何做到的(在伪代码中):
employeeViewController
属性设置为您的详细视图控制器viewControllers
属性设置为包含主视图控制器和详细视图控制器的数组applicationDidFinishLaunching:
.