1

Graph というボタンを備えた CalculatorViewController があります。Graph をクリックすると、CalculaterGraphViewController へのプッシュ セグエが発生しますが、プッシュするとクラッシュします。

セグエの準備は CalculatorViewController.m で次のように設定されています。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"Show Graphs"])
    {
        // Do we need to set something else up in case it crashes 
    }   
}

クラッシュした後、出力に次のように表示されます。

2013-07-01 18:32:13.170 Calculator[1150:c07] * キャッチされない例外 'NSGenericException' が原因でアプリを終了しています。理由: 'セグエ 'Show Graphs' のナビゲーション コントローラーが見つかりませんでした。プッシュ セグエは、ソース コントローラーが UINavigationController のインスタンスによって管理されている場合にのみ使用できます。* First throw call stack: (0x1c95012 0x10d2e7e 0x46cf31 0x45eb99 0x45ec14 0x10e6705 0x1a2c0 0x1a258 0xdb021 0xdb57f 0xda6e8 0x49cef 0x49f02 0x27d4a 0x19698 0x1bf0df9 0x1bf0ad0 0x1c0abf5 0x1c0a962 0x1c3bbb6 0x1c3af44 0x1c3ae1b 0x1bef7e3 0x1bef668 0x16ffc 0x2abd 0x29e5 0x1) libc++abi.dylib: terminate called throwing an exception (lldb )

4

2 に答える 2

3

Push Segue!を利用するにはナビコントローラーが必要です。

「プッシュ」スタイルのセグエは、UINavigationController によって管理されているビュー コントローラーからのみ実行できます。

于 2013-07-02T01:35:31.137 に答える
0

私が知る限り、クラッシュ ログに直接配置されています。UINavigationController 内に CalculatorViewController をネストする必要があります。

Interface Builder の要素ボックスから要素を 1 つドラッグします (または Control-Cmd-Alt-3 を押して検索し、UINavigationController と入力します)。UINavigationController からコントロールをドラッグし、ルート ビュー コントローラーとして Relationship Segue を選択して、CalculatorViewController を UINavigationController に接続された UIViewController に設定します。

于 2013-07-02T01:37:42.660 に答える