![](/img/trans.png)
[英]prepareForSegue is not called after performSegueWithIdentifier
[英]prepareForSegue never called from performSegueWithIdentifier
我正在使用帶有導航控制器和兩個簡單表格視圖的情節提要,在iOS教程中制作一個非常基本的應用程序。
我已使用Show segue將初始視圖連接到第二個視圖,並為其指定了標識符“ S1”。 在我的初始視圖的視圖控制器中,我有以下代碼:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
// Perform Segue
[self performSegueWithIdentifier:@"S1" sender:self];
}
在第二個視圖的視圖控制器中,我有以下代碼:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"Triggered Segue");
}
但是,當我在第一個視圖中選擇一行時,NSLog調用將永遠不會發生。 第二個視圖打開,但是完全空白。
我確定我在這里遺漏了一些非常基本的東西,但是我很困惑。 我已經在didSelectRowAtIndexPath中設置了一個調試點,我可以確認它正在被調用。 當我嘗試進入performSegueWithIdentifier時,什么也沒發生。 我第二個視圖中的prepareForSegue中的斷點不會觸發,而viewDidLoad中的那些斷點會觸發。 對新的iOS開發者有幫助嗎?
performSegueWithIdentifier手動觸發Segue。 您有機會在prepareForSegue中設置變量等。 兩種方法都必須在同一個ViewController中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.