Objective-C でソフトウェア設計を学び始め、Instagram のようなアプリを実装しています。ユーザーはフィードを読んだり投稿したりできます。しかし、私は問題を満たしています。ビューは互いに通信できず、異なるビュー内に実装されたビュー遷移メソッドです。移行トラフィックを一元化するのに役立つ設計パターンがいくつかあることはわかっています。満たす必要のある制約がいくつかあります。
- UITabbarController には、いくつかの UINavigationController と UIViewController (4 つのタブ) が含まれています
- ビュー遷移を 1 つのクラス階層に集中させたい例: クラス階層の例:
[ViewTransition] ^ | +------------------+-----------------+ | | | [ToAView] [ToBView] [ToCView]
(ViewTransition: 抽象メソッド「requestViewTransition」を含むプロトコル/抽象クラス。)
(ToAView:任意のビューから「A」ビューへのビュー遷移を行う抽象メソッド「requestViewTransition」を実装したクラス。)
- ビュー遷移ごとに実装方法が異なる場合があります。
たとえば、「A」ビューから「B」ビューへは、以下を使用する必要があります。
[navigationController pushViewController:BViewController アニメーション:YES];
たとえば、「C」ビューから「B」ビューへは、以下を使用する必要があります。
[CViewController presentModalViewController:BViewController アニメーション:YES];
- View Controllerの中には、いくつかのObserverパターンが必要です。たとえば、ユーザーは「A」ビューにデータを入力し、「A」ビューのモデルはオブザーバーにビューを更新するよう通知する必要があります。