didSelectViewControllerを使って、プロトコルの判別を行い、tabbarを制御する
現在、TabBarと、navigationのどちらも使ったアプリを作成しています。
その中で、didSelectViewControllerメソッドを使っても、
プロトコル判別が動作しなーい!!
と、つまづいてしまったのでメモ。
参考はコチラ↓
http://ameblo.jp/fumin65/entry-11341997812.html
まずは、プレーンなタブバーで試してみると、正常に動作する。
問題は、タブバーの先でナビゲーション遷移しているパターン。
デバッグ実行すると分かるが、このメソッドが返しているViewControllerは…
UIViewControllerではなかった!!
- (void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {}
実際はUINavigationControllerが帰ってきており、
プロトコルの実装を判別しようとするも、もちろんナビゲーションには定義していない。
1。ナビゲーションカスタムクラスを作成して、そこにプロトコルを実装する
2。タブで切り分けて、didSelectViewControllerの中で処理をしてしまう
今回は2を選択しました。
場合によっては1の方が良いと思います(後々も含めて)
いじょ