Reputation: 21
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
Reputation: 3143
it should be in
-(void)viewDidAppear
instead of
-(void)viewDidLoad.
Upvotes: 1