従業員に関する情報を表示するために 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:
。