従業員に関する情報を表示するために SplitView を使用しようとしています。マスター部分に部門の一覧があります。部門をクリックすると、選択した部門で働く雇用主のリストが詳細に表示される必要があります。「対多」関係で接続されている「部門」と「従業員」の2つのエンティティでCoreDataを使用しています。どうすればいいですか?
ありがとう
従業員に関する情報を表示するために SplitView を使用しようとしています。マスター部分に部門の一覧があります。部門をクリックすると、選択した部門で働く雇用主のリストが詳細に表示される必要があります。「対多」関係で接続されている「部門」と「従業員」の2つのエンティティでCoreDataを使用しています。どうすればいいですか?
ありがとう
非常に幅広い質問をしたので、これは簡略化された概要です。
UITableViewControllerマスタービューとなるサブクラスを作成します。タイプのプロパティが必要でありNSManagedObjectContext、部門のフェッチと表示を処理する必要があります。(でそれらをフェッチすることも、…loadViewを使用することもできNSFetchedResultsControllerます)
詳細ビューとなる別のUITableViewControllerサブクラスを作成します。タイプのプロパティとタイプNSManagedObjectContextのプロパティを指定しますDepartment。その部門の従業員を表示するようにします。departmentプロパティが変更されるたびにデータをリロードするようにする必要があります。
マスタービューコントローラーにプロパティを追加して、詳細ビューコントローラーを参照します(つまり、タイプのプロパティEmployeeViewController、またはそれを呼び出したもの)。次に、tableView:didSelectRowAtIndexPath:マスタービューコントローラーで、を設定しself.employeeViewController.department = <selected department>ます。
分割ビューコントローラを作成します。これがアプリケーションのトップレベルビューである場合は、アプリデリゲートで作成する必要があります。それ以外の場合は、スタックにプッシュするViewControllerで作成します。これを(擬似コードで)行う方法は次のとおりです。
employeeViewControllerプロパティを詳細ビューコントローラーに設定しますviewControllersプロパティを、マスタービューコントローラーと詳細ビューコントローラーを含む配列に設定しますapplicationDidFinishLaunching:。