1

分割ビューを使用してマスタービューと詳細ビューを表示するiPadストーリーボード駆動型アプリがあります。

DetailViewControllerには子UITableViewControllerがあり、これは、DetailViewControllerにプロトタイプ化されたUITableViewを設定します。UITableViewControllerは、UITableViewでデータを使用するのに便利なように、NSFetchedResultsControllerを使用してデータ取得を管理します。

MasterViewControllerには、UITableViewControllerに含まれるデータのサブセットが入力された別のUITableViewが含まれています。

私が抱えている問題は、MasterViewControllerがNSFetchedResultsControllerレコードセットからコンテンツを更新できるようにする必要があることですが、UITableViewControllerはDetailViewControllerの子であるため、この目的でデリゲートを使用できないことがわかりました。 MasterViewControllerの子。

NSNotificationCenterを使用してこれを行うことができることはわかっていますが、ビュー階層を介して関連データをMasterViewControllerに戻すことができることを望んでいました。FRCからインスタンス変数にデータをロードし、KVOを使用してDetailViewControllerのデリゲートメソッドをトリガーすることを検討しましたが、これは複雑なようです。これは現在のセットアップの概要です:

MasterViewController --> DetailViewController --> UITableViewController.NSFetchedResultsController

誰かがこれを達成するための最良の方法をアドバイスできますか?

4

2 に答える 2

0

NSFetchedResultsControllerの別のインスタンスを使用して、MasterViewControllerのテーブルビューにデータを提供します。

于 2012-07-08T08:05:08.660 に答える
0

NSNotificationとメソッドを使用して問題を解決し、postNotificationName:object:userInfo:値のNSDictionaryをuserInfoとして渡しました。次に、MasterViewControllerを設定して、通知をリッスンし、NSDictionaryを処理してそれ自体を更新します。

これにより、Appleが設定したプログラミングガイドの範囲内にとどまり、アプリ内のどこにでも同じ情報を渡すことができます。

詳細はこちら:通知プログラミングトピック

于 2012-07-09T09:08:05.827 に答える