2012-05-07 4 views
0
#import <UIKit/UIKit.h> 
#import "UCMapviewController.h" 
#import "UCMenuviewController.h" 
#import "UCOverviewController.h" 

@interface UCRootViewController : UIViewController 

@property (strong, nonatomic) UCMapviewController *mapviewController; 
@property (strong, nonatomic) UCMenuviewController *menuviewController; 
@property (strong, nonatomic) UCOverviewController *overviewController; 

これは自分で何も表示しないrootviewControllerです。彼は、必要に応じて他のView Controllerを表示する責任があります(後でこれらのコントローラの代理人になる)。他のコントローラを管理するrootviewControllerのビューを実装する必要がありますが、何も表示されませんか?

私の質問は、このrootviewControllerのビューを実装する必要がありますか?私は、ViewControllerプログラミングガイドを読んだが、私はこれに対する答えを見つけることができませんでした。

私が知っている限り、rootviewControllerは別のコントローラを自分のビューで表示させ、それがその領域を占有します。これは間違ったアプローチですか?

答えて

1

は、通常、私は微妙な方法でアプリデリゲートの私のrootViewControllerを管理お願いします。たとえば、ログインUIViewControllerのアプリケーションでは、presentModalViewControllerを使用して、そのログインビューコントローラからUIViewControllersの残りの部分を提示します。しかし、あなたのためにあなたのUIViewControllersを扱うrootViewControllerを持つことは、あなたがいくつかの詳細を覚えている限り、悪いアプローチではありません(私はあなたにthisを読んでお勧めします)。 There is also a good WWDC view about containers。 :)

編集1:

1)MVCは、おそらくiOSの中で最も使用されたパターンです。 iOS向けに開発する際には使用しないのは難しいですが、正しく実装するには何らかの経験が必要です

2)はい、必要ありません。 window.rootViewController

3)モデルは、アプリケーションのロジック部分とデータソースに加えて、AppDelegateを使用することができます。通常、ロジックとデータの2つのレイヤーがあります。モデルの部分では、両方を囲む。コントローラは、ビュー(ユーザーが見ているもの)とモデル、ボンネットの下で処理されるロジックとデータの間のブリッジを作成します。 ViewsとしてXibを、コントローラーにUIViewControllersを、残りのクラスにはUIViewControllersをモデルとして「考える」ことができます。

+0

1)私は、ドキュメントのモーダルView Controllerの章を読んだだけです。私は、modalVCが特定の実装ではなく単なる概念(パターン)であることを正しく理解していますか? 2)私の最初の質問には、他のコントローラー(およびそのビュー)だけを制御するコントローラーのビューが必要なのではないというのは正しいですか? 3)具体的には、「モーダル」とはどういう意味ですか? thx – MJB

+0

1)私はモデルが何であるかは知っていますが、モデル(モデルではありません)と呼ばれています。私はモーダルビューコントローラ(モデルビューコントローラではない)のコンセプトを指していました thx – MJB

関連する問題