iOSの画面に対してURLを割り振って、自由に画面を表示する
使用場面
Rails風なRoutesをiOSに実装したい。そのRoutesを使用して newsapp://articles/1234 のようなURLSchemeを上手く処理したい。
そして、UINavigationControllerに対して[HomeViewController, ArticleViewController]のような構造な上に起動したタイミングでArticleViewControllerを表示したい。
また、新規登録時に利用規約画面を出しつつも、その下にはちゃんと目的のArticleViewControllerが表示されるようにしたい。
必要な構成
- ViewControllerの表示構造を制御できる層
- URLSchemeを解釈する機能
- 解釈したパラメータをViewControllerに渡す機能
- 解釈したパスから構造を決定する機能
必要な機能
- Routerを作成
- ViewControllerの生成
- ViewControllerのキャッシュ
- パスに対する画面構造の生成
結論
やってみたけど、実装は出来ました。一般化・ライブラリ化は、システムに深く根付きすぎていて分離できず、現段階では難しそうでした。