iOS画面遷移のアンチパターン2:条件分岐×条件分岐にならないようにする

ちょっと抽象的なんだけど、タブを3つ持ったアプリがあるとして、3つのタブで条件分岐がある画面遷移(4から7)を共有している場合を考えると、5,6,7に到達できるのは1,2,3すべてなので、パターンが掛け算になって増えてしまう。ので良くない。

例えば各タブから経る画面は違うけど、ユーザログインの画面4に到達できて、ログインしたユーザの種類によって別の画面(5から7)が表示されるようなもの。

f:id:yuma_nishizaki:20150609010331p:plain

5からrootになった画面に一気に戻りたいとすると、自分がどこから来たか知ってないといけないので5が知り過ぎになるし、1から来た場合、2から来た場合、3から来た場合と3とおりテストしなければならなくなる。

何が悪いか考えると、条件分岐が掛け算になっているのが悪いので、4をrootにしたタブを別に作って、ログインは常にそこからさせるという設計にするのがベターになる。

本質的には条件分岐×条件分岐が悪いんだけど、Tipsレベルの話としては、タブ間で画面遷移を共有するときは、その画面遷移が条件分岐しないように気をつけたい。