1

タブ付きの iPhone アプリケーションを使用している場合、あるタブから次のタブに通信するにはどうすればよいですか。たとえば、5 番目のタブに絵を表示するパズル ゲームを持っていて、他の 4 つのタブのスイッチが正しい位置にある場合にのみ、5 番目のタブに他のタブに何が設定されているかを知らせるにはどうすればよいですか?

4

2 に答える 2

0

まず、カスタムタブバーコントローラーのプロパティを介して共有情報を保存しviewDidLoad、個々のタブのビューコントローラーが取得して独自のivarを更新できます。例:

MyTabBarViewController *parentController = (MyTabBarViewController *)self.parentViewController;

_model = parentController.model;

次に、モデルをアプリデリゲートに保存し、個々のタブのビューコントローラーで次のような操作を行うことができます。

MyAppDelegate *appDelegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;

_model = parentController.model;

第三に、おそらくシングルトンを使用することもできます。

タブ間で情報を共有することが目標の場合は、最初の手法が最適と思われます(オブジェクトを最も狭い適切なスコープに制限するのが最適です)。

于 2012-07-26T21:40:41.683 に答える
0

アプリデリゲートにいくつかのメソッドを追加し、可変ディクショナリに値を格納するためのキーをアプリデリゲートに提供させることができます。したがって、アプリ内のすべてのオブジェクトはappDelegateに値を要求でき、すべてのオブジェクトはアプリデリゲートに何かの値を要求できます。したがって、各「スイッチ」には名前と値(キー「Fast」の[NSNumber numberWithInt:2]などのオブジェクト値)があります。

于 2012-07-26T19:57:08.837 に答える