0

我正在尝试使用 SplitView 来显示有关员工的信息。Master部分有一个部门列表。单击部门时,需要在详细信息中显示在所选部门工作的雇主列表。我正在将 CoreData 与两个实体一起使用:“部门”和“员工”,它们与“对多”关系相连。我该怎么做?

谢谢

4

1 回答 1

0

这是一个简化的概述,因为您提出了一个非常广泛的问题。

  1. 创建一个UITableViewController子类作为您的主视图。它应该有一个 type 的属性NSManagedObjectContext,它应该处理获取和显示部门。(你可以把它们拿进来loadView,或者你可以用NSFetchedResultsController……)

  2. 创建另一个UITableViewController子类作为您的详细视图。给它一个 type 的属性NSManagedObjectContext,还有一个 type 的属性Department。让它显示该部门的员工。您需要让它在department属性更改时重新加载其数据。

  3. 向您的主视图控制器添加一个属性,以引用详细视图控制器(因此是 type 的属性EmployeeViewController,或者您称之为的任何内容)。然后在tableView:didSelectRowAtIndexPath:您的主视图控制器中,设置self.employeeViewController.department = <selected department>.

  4. 创建拆分视图控制器。如果这是您的应用程序的顶级视图,您将希望在您的应用程序委托中创建它,否则在将其推送到堆栈的视图控制器中创建它。这是如何做到的(在伪代码中):

    • 创建一个新的细节视图控制器
    • 设置它的 managedObjectContext 属性
    • 创建一个新的主视图控制器
    • 设置它的 managedObjectContext 属性
    • 将主视图控制器的employeeViewController属性设置为您的详细视图控制器
    • 创建一个新的拆分视图控制器
    • 将拆分视图控制器的viewControllers属性设置为包含主视图控制器和详细视图控制器的数组
    • 以某种方式在屏幕上获取拆分视图控制器,方法是将其推送到导航堆栈或将其设置为applicationDidFinishLaunching:.
于 2013-02-08T10:22:31.493 回答