0

従業員に関する情報を表示するために SplitView を使用しようとしています。マスター部分に部門の一覧があります。部門をクリックすると、選択した部門で働く雇用主のリストが詳細に表示される必要があります。「対多」関係で接続されている「部門」と「従業員」の2つのエンティティでCoreDataを使用しています。どうすればいいですか?

ありがとう

4

1 に答える 1

0

非常に幅広い質問をしたので、これは簡略化された概要です。

  1. UITableViewControllerマスタービューとなるサブクラスを作成します。タイプのプロパティが必要でありNSManagedObjectContext、部門のフェッチと表示を処理する必要があります。(でそれらをフェッチすることも、…loadViewを使用することもできNSFetchedResultsControllerます)

  2. 詳細ビューとなる別のUITableViewControllerサブクラスを作成します。タイプのプロパティとタイプNSManagedObjectContextのプロパティを指定しますDepartment。その部門の従業員を表示するようにします。departmentプロパティが変更されるたびにデータをリロードするようにする必要があります。

  3. マスタービューコントローラーにプロパティを追加して、詳細ビューコントローラーを参照します(つまり、タイプのプロパティEmployeeViewController、またはそれを呼び出したもの)。次に、tableView:didSelectRowAtIndexPath:マスタービューコントローラーで、を設定しself.employeeViewController.department = <selected department>ます。

  4. 分割ビューコントローラを作成します。これがアプリケーションのトップレベルビューである場合は、アプリデリゲートで作成する必要があります。それ以外の場合は、スタックにプッシュするViewControllerで作成します。これを(擬似コードで)行う方法は次のとおりです。

    • 新しい詳細ビューコントローラを作成する
    • そのmanagedObjectContextプロパティを設定します
    • 新しいマスタービューコントローラーを作成します
    • そのmanagedObjectContextプロパティを設定します
    • マスタービューコントローラーのemployeeViewControllerプロパティを詳細ビューコントローラーに設定します
    • 新しいスプリットビューコントローラを作成します
    • 分割ビューコントローラーのviewControllersプロパティを、マスタービューコントローラーと詳細ビューコントローラーを含む配列に設定します
    • 分割ビューコントローラーをナビゲーションスタックにプッシュするか、のルートビューコントローラーとして設定することにより、画面上で分割ビューコントローラーを取得しますapplicationDidFinishLaunching:
于 2013-02-08T10:22:31.493 に答える