That’s the first time i post on this site.
I explain, i have to work on an already advanced project in ios.
I’m new in objective-c and it’s a quite strange language when you come from java.
I have a strange issue.
In the app there is a login screen, you put mail and pass, click on a button and you go on the main view. It’s work perfectly.
What i want to do is autologin. I use keychains for that, store it, retrieve it, populate my user and pass with. It’s works perfectly.
If my user click on the login button it’s also work perfectly.
But if i call the function myself with the code, it doesn’t change the view. I can’t understand why.
I put here the code where i think the change is called.
if ([result isEqualToString:@"1"]) {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:Email.text forKey:@"email"];
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Welcom back to FriendsCam!" message:@"Start sharing your video" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
//Email.text = nil;
//Password.text = nil;
UIStoryboard *MainStoryboard_iPhone=[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
self.view.window.rootViewController=[MainStoryboard_iPhone instantiateInitialViewController];
So this code is in a function who is called by the functions called when the button login is pressed if all field are correctly fill.
It work when a user manually click on the button but not when i call the button’s function myself in code but the alert “welcome back” of good login show in both cases. it’s only the jump in the storyboard who is broken.
Can someone explain why ? It will be very kind.
Ok i find the solution.
I was firing my method to quickly, something related with loading time of the view i think.
I delay my call with a nstimer and all work perfectly.