2016-05-06 2 views
1

提示されたView Controllerを却下する必要があるのは誰ですか?View Controllerを却下するのは誰ですか?

私はビューコントローラを提示し、そのビューコントローラのIBActionで、私はそれを却下したいと言います。 デリゲートメソッドを作成することによって、プレゼンテーションビューコントローラにその責任を渡す必要がありますか、またはdismissViewController:animated:を呼び出すだけで、インテンションは、プレゼンテーションビューコントローラに提示されたビューコントローラを却下するよう求めますか?

だから、私は、これらが提示するビューコントローラが提示ビューコントローラが提示ビューコントローラに戻っていくつかのデータを渡している提示ビューコントローラ

  1. を却下ものでなければならないいくつかの明確な例だと思います。
  2. 提示されたView Controllerは、提示されたView Controllerの解任後に何かをしたいと考えています。
  3. 解雇が起こるしようとしている方法を処理するために提示するビューコントローラ、それがアニメーション
  4. のいくつかの種類を必要としない

どうかの提示ビューコントローラを最初にチェック提示ビューコントローラは、実際の責任を取りたい場合提示されたビューコントローラをチェックして解任デリゲートメソッドを実装しましたか? ここに条件ロジックの複雑さを置くのは本当に価値がありますか?

そして、はい、私は

Dismissing a Presented View Controller

Dismissing Modal View Controllers

Present and dismiss modal view controller

view controllers: presentation, dismissal

しかし、本当に正しい論理を見つけることができなかったような他のフォーラムとの質問に、それを読んでみました回答。

+1

シナリオごとに異なります。ほとんどの場合、presentViewControllerでそれを呼び出すと、複雑さを低く抑えることができます。ただし、元に戻す前または後に発生する必要がある基本的なロジックがある場合は、プレゼンターに委譲する方が良いでしょう。正しいか間違った答えはありません。それはあなたの状況に応じて変化するでしょう。 – Tim

+0

私はそれを知っていますが、私はまだ解雇を呼び出すことはプレゼンテーションコントローラからだと信じています。欠点はありませんが、ほんのわずかなコード行があります。私は、プレゼンテーションコントローラまたはプレゼンテーションコントローラから呼び出す際に、より強力なメリットがあるかどうかを知りたかっただけです。 – Puneet

+0

利点は、シナリオごとに決定することができます。あなたが却下したときにあなたがしたいことに依存します。さもなければ、使用可能な最も単純なソリューションを使用し、あなたの方法を試してみてください。他に理由がない限り、内部的に提示されたViewControllerを却下してください。 – Tim

答えて

関連する問題