2015-01-31 53 views
0

我不知道很多关于塞格斯,但我得到它的工作..但突然它不工作了....Segue不工作(了)?

我的代码似乎工作,但SEGUE不会发生:

NSLog(@"login started"); 
if ([user_temp]) { 
    NSLog(@"login success!"); 
    [self performSegueWithIdentifier:@"loginsuccess"]; 
} 

控制台输出:

2015-01-31 21:35:27.321 Vertretungsplan[6753:3122243] login started 
2015-01-31 21:35:27.321 Vertretungsplan[6753:3122243] login success! 

但SEGUE不会出现? (这只是一个片段,我减少了代码...)

enter image description here

+0

我的猜测是segue不存在(id已更改?)。有一些方法可以查询一个对象是否有特定的方法。 – 2015-01-31 20:58:41

+0

@ ott-- id?标识符?它确实存在.. – Tim 2015-01-31 21:09:53

+0

如果您添加故事板的屏幕截图并选择显示标识符的segue,则可能会有帮助。另外,如果您对segues了解不多,可以随时阅读以下文档:https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIStoryboardSegue_Class/index.html – 2015-01-31 21:20:30

回答

1

使下面的事情

  1. 标识符是有效的肯定。
  2. 您正在主线程上执行segue。
    [self performSelectorOnMainThread:@selector(performSegueWithIdentifier:sender:) withObject:@"loginsuccess" waitUntilDone:NO];
+0

好吧,我试过但我得到这个错误:***由于未捕获的异常'NSUnknownKeyException',原因:'[ setValue:forUndefinedKey:]终止应用程序:该类不是关键值代码,符合关键故事板。 ***第一掷调用堆栈: (0x182fb259c 0x1937080e4 0x182fb2220 0x183dbdb10 0x187a305d0 0x182edf3c0 0x187b6f83c 0x187d2f4d8 0x187d32ac0 0x183e85df0 0x182f6a9ec 0x182f69c90 0x182f67d40 0x182e950a4 0x18c0375a4 0x1877ca3c0 0x1000a30ac 0x193d76a08) 的libC++ abi.dylib:与类型的未捕获的异常NSException – Tim 2015-01-31 21:07:40

+0

终止,这可能是重要的:我试图推入一个TabBar控制器... – Tim 2015-01-31 21:08:23

+0

试试这个,在prepareForSegue方法添加此条件 if([segue.identifier isEqualToString:@“loginsuccess”]){ //在此处编写代码 } – 2015-02-01 03:32:05