performSegueWithIdentifier问题 - 没有错误,但没有任何反应

时间:2012-12-13 19:32:07

标签: iphone objective-c xcode ios5

我是故事板的新手,我正在尝试连接一些以编程方式调用的segues。

基本上我的应用程序使用websockets连接到服务器,然后根据从服务器收到的消息显示内容。

所以我的应用程序中的第一个场景只是一个“正在连接...”屏幕,它将显示,直到它成功连接到我的服务器。 一旦连接,我需要它来显示下一个屏幕。

这是我的故事板: enter image description here

当应用程序连接到服务器时,服务器会发送一条消息,询问客户端类型(同一服务器将用于移动网站和Android应用程序)。

应用程序侦听此消息,然后回复服务器说它是iPhone。 当服务器准备好让客户端登录时,它会发送“loginready”消息。

这是我切换到登录界面的唯一代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
    UIViewController *loginVC = (UIViewController *)[storyboard instantiateViewControllerWithIdentifier:@"LoginView"];

    [mViewController presentViewController:loginVC animated:YES completion:nil]; 

但它需要它(模拟器至少......订阅在几周前就用完了)15秒才能完成转换。

我最初尝试过这个:

[mViewController dismissViewControllerAnimated:YES completion:^() {
    [mViewController performSegueWithIdentifier:segueID sender:mViewController];
}];

mViewController是当前场景的UIViewController,但这绝对没有任何内容..因为它只是停留在“正在连接...”页面上,没有任何错误或任何证据表明任何代码都已运行。

在服务器发送“logintrue”消息后,我也尝试将此代码移动到第三个场景,登录屏幕解除,但只显示“正在连接...”屏幕,从不转换到第三个场景

我真的不介意我是否必须使用presentViewController技术,但前提是我能让​​它变得不那么慢。

非常感谢任何帮助!

0 个答案:

没有答案