8

簡単な方法かもしれませんが、iOS に詳しい方からのアドバイスが必要です。

親View Controllerがすべての子View Controllerに特定のメッセージを送信したい場合, 最善の方法は何ですか?, 今でも各子View Controllerにメソッドを書き、必要に応じて通知しています. すべての子View Controllerに通知したい状況では.子供?これにはどうすればよいですか?すべてのViewControllerで同じメソッドを書く必要はないと思います..

また

サブクラス化する必要がありますか....ありがとう....

4

4 に答える 4

10

親ビュー コントローラーと子ビュー コントローラーの間で通信するための多くのオプションがあります。

  1. 親 -> 子

    • 直接的な相互作用: 親にインスタンスがあります
  2. 子 -> 親

    • 委任[優先]
    • 通知
    • データベース、Plist ファイルなどを介して値を渡します。
    • アプリ デリゲート インスタンスに格納し、値を渡します ( UIApplicationDelegate)
    • NSUserDefaults

丁寧な説明が秀逸

于 2013-06-17T09:39:46.047 に答える
5

子View Controllerでメソッドを呼び出すだけの場合は、次を使用できます。

[[self childViewControllers] makeObjectsPerformSelector:@selector(nameOfSelector:) withObject:objectToSend];

またはセレクターと共にオブジェクトを渡すための他の方法の 1 つ。

@Gianluca Tranchedone が示唆したように、デリゲートまたはオブザーバー パターンを使用できますが、実際には何をする必要があるか、コードがどのように構造化されているかによって異なります。親View Controllerを子View Controllerのデリゲートに準拠させると、コードをよりクリーンな方法で構造化できます。

于 2013-06-17T09:39:29.340 に答える