0

那是我第一次在这个网站上发帖。

我解释说,我必须在 ios 中处理一个已经很高级的项目。我是 Objective-c 的新手,当你来自 java 时,它是一种非常奇怪的语言。

我有一个奇怪的问题。

在应用程序中有一个登录屏幕,您输入邮件并通过,单击一个按钮,然后您进入主视图。这是完美的工作。

我想做的是自动登录。我为此使用钥匙串,存储它,检索它,填充我的用户并传递。它工作得很好。如果我的用户单击登录按钮,它也可以正常工作。

但是如果我自己用代码调用函数,它不会改变视图。我不明白为什么。

我把代码放在这里,我认为更改被调用。

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];

因此,此代码位于一个函数中,如果所有字段都正确填写,则按下按钮登录时调用的函数将调用该函数。它在用户手动单击按钮时起作用,但当我自己在代码中调用按钮的功能时不起作用,但在两种情况下都会显示良好登录的警报“欢迎回来”。只有故事板中的跳跃被打破了。

有人可以解释为什么吗?会很亲切。

4

1 回答 1

0

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.

于 2012-09-06T09:08:07.153 回答