2012-05-03 8 views
2

現在若干の問題があります。すぐに新しいビューをIOSにロード

は基本的に私のappdelegateが私のmainViewControllerをロードしている:

self.viewController = [[MainViewController alloc] initWithNibName:@"mainViewController" bundle:nil]; 
self.window.rootViewController = self.viewController; 
[self.window makeKeyAndVisible]; 
return YES; 

今ときmainViewController負荷、私は、ユーザーがすでにログインしているかどうかを確認したい:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    NSInteger myInt = [prefs integerForKey:@"user"]; 
    if(!myInt) 
    { 
     self.loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; 
     self.loginViewController.delegate = self; 
     self.loginViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
     [self presentModalViewController:self.loginViewController animated:YES]; 
    } 
} 

それが成功するかどうかをチェックしますユーザーがログインしていない場合は、ifステートメントに入ります。ただし、実行した後にロードされる最終的なビューは、loginViewControllerではなくmainViewControllerです。

私はこのコードをログインページに私を送信するために別のボタンを持っている場合は、それが正常に動作します。もちろん、それは私が必要なものはありませんが、私は、ユーザーが= P

答えて

3

-viewDidAppear:にそれを入れてログインする必要がありますする必要があります。

+0

私は=できればあなたの答えを受け入れます。どのように完璧、非常にありがとう。私はviewDidLoadが本質的に私が探していたものだと仮定しました - 2つの音は非常に似ています! – Paul

+0

うん。プラス 'viewDidLoad'はメモリを節約するためにアンロードされた場合に複数回呼び出すことができます。 – jrtc27

関連する問題