簡體   English   中英

從不從performSegueWithIdentifier調用prepareForSegue

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM