2016-07-06 3 views
2

私は自分のアプリケーションバージョンをアップグレードしているので、2つのビューコントローラを1つに減らす必要があります。したがって、私は最初のものをスキップする2番目のビューコントローラを呼び出しています。しかしここでは、重要な宣言と実装があるので、最初のView Controllerのクラスを呼び出す必要があります。 View Controllerをポップアップさせずに、最初のView Controllerクラスを呼び出すにはどうすればよいですか。ビューコントローラ自体をポップアップさせずにビューコントローラクラスを呼び出す

答えて

1

これは混乱します。

最初のVCからすべての初期化コードを取得しないでください(プロパティをコピーしてviewDidLoadなどの初期化コードを第2のVCにコピーしてください)。

完了したら、最初のVCが役に立たないので取り除き、2番目のView Controllerをルートにします。

ViewControllerは「表示」されていることを意味しています。隠すだけでなく、実際には悪いアーキテクチャです。

+0

ありがとう@H4Hugo、そうですが、そのような代替品があれば好奇心を持っていました – Sam

+0

@Samあなたは 'Superclass:UIViewController'を作成し、その中のすべての共有機能を実行し、それからビューコントローラを継承します –

1

ビューコントローラをまったく必要としない場合は、storyBoardからそのView Controllerを削除し、以前のUIClientControllerサブクラスではなく、NSObjectクラス(サブスクリプション)をDataProviderClassとして呼び出すことができます。ナビゲーションスタックに「ダミー」ビューコントローラを置くことはお勧めできません。

DataProviderClassクラスは、Second View Controllerにデータを提供できるサポートファイルとして使用できます。 2番目のVCを起動する前にこのクラスの計算/メソッドを実行するには、このNSObjectクラス(DataProviderClass)のインスタンスを作成し、その参照を保持して、viewdidLoadメソッドでこれらのメソッドを実行してください。

さらに細かくすると、DataProviderClassという同じ参照を転送することもできます。

関連する問題