2011-05-13 7 views
1

ObjectiveCのif文の中から新しいviewcontrollerをロードする方法を工夫しようとしています。if文で新しいviewcontrollerをロードする方法OBJ C

基本的に、アプリが最初に起動したときに、以前にユーザーの詳細が入力されていないかどうかを確認し、そうでない場合はユーザーの詳細画面に移動します。詳細がすでに入力されている場合は、メインメニュー画面に進みます。

私のif文:

if (gGroupDetails != 0) 
    { 
     //This will go to default page (main menu) 
     self.window.rootViewController = self.viewController; 
     [self.window makeKeyAndVisible]; 
     return YES; 

    } 
    else 
    { 

     //This will go to the edit details page 
     self.window.rootViewController = self.editUser; 
     [self.window makeKeyAndVisible]; 
     return YES; 
    } 

私は大丈夫を表示するには、メインメニューを取得していますが、ユーザーの詳細はちょうど空白の画面として表示されます。

両方のビューコントローラーのニブをセットアップしました。

誰でもこの初心者を正しい方向に向けることができますか?

ありがとうございました

+2

'変数?その価値は何ですか? –

答えて

1

AppDelegateでこれを行うようです。ちょうど使用する

MyNewViewController *controller = [[MyNewViewController alloc] initWithNibName:@"MyNewViewController" bundle:nil]; 
[self.window addSubview:controller.view]; 
0

私はgGroupDetailsが何であるか知りませんが、私はその値が負であり得ると仮定します。 あなたが「MainViewController」と「EditViewController」 あなたの.mのようにという名前の2つのXIBファイルを持っているのであれば、あなたは、このようにそれを行うことができ、次のようにinitメソッドの変更:

あなたは `editUserを設定しましたか
(id)init{ 
NSString* nibName = gGroupDetails > 0 || gGroupDetails < 0 ? @"MainView" : @"EditView"; 

    if (self = [super initWithNibName:nibName bundle:nil]) { 
     self.wantsFullScreenLayout = YES; 
    } 
    return self; 
} 
関連する問題