2015-01-31 51 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