Steven Kim
Steven Kim

Reputation: 21

Xcode performSegueWithIdentifier not working

I want to switch a scene according to a user status(which is NSUserDefaults value), so I am using two view controllers and segues. But it is not working. I believe there is something wrong in my code. Please help. thanks.

- (void)viewDidLoad
{

//sleep(5);
NSString *usercode = [[NSUserDefaults standardUserDefaults] objectForKey:@"usercode"];
if([usercode isEqualToString:@""] || usercode == nil){
    [self performSegueWithIdentifier:@"loginSegue" sender:self];
    NSLog(@"usercode start: key=%@", usercode);
}else{
    [self performSegueWithIdentifier:@"loggedInSegue" sender:self];
    NSLog(@"usercode start: not null key=%@", usercode);
}
[super viewDidLoad];

}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([[segue identifier] isEqualToString:@"loginSegue"])
{
    NSLog(@"delegated");
    //loginViewController *loginController = [segue destinationViewController];        
    NSLog(@"%@", NSStringFromClass([[segue destinationViewController] class]));
    //controller.delegate=self;
}else if ([[segue identifier] isEqualToString:@"loggedInSegue"]){
    NSLog(@"logged in delegated"); 
}
}

Upvotes: 1

Views: 3042

Answers (1)

atastrophic
atastrophic

Reputation: 3143

it should be in

-(void)viewDidAppear

instead of

-(void)viewDidLoad.

Upvotes: 1

Related Questions