そらえふのブリキ

ViewController間のインタラクション

ViewControllerを書いていると、ViewControllerが別のViewControllerを使いたくなることがあります。ViewControllerが別のControllerを使うみたいな感じ。これは果たして良いことだろうか?

例えば、認証のために用意したAuthControllerとアプリ起動時に表示するスプラッシュ画面を制御するSplashControlllerがある場合を考えてみる。 このSplashPageでの仕様は、認証のチェックを行い認証済みであればホーム画面へ遷移させ、そうでなければ、ログイン画面へ遷移させるというものだ。

Controllerが別のコントローラーを所持することを許可する場合、次のようなクラス図が書ける。

SplashController

+ SplashStatus status

+ AuthController controller

+ void onInit()

«emun»

SplashStatus

Display

NotLogin

Login

AuthController

+ bool checkAuth()

そらえふ

ソフトウェアエンジニア。趣味は競馬、写真、ゲーム。

お問い合わせはXのDMでお願いします。