7

今日、Xcodeを更新し、新しいiPhone5画面用にアプリの更新を開始しました。

画面Aから画面BIに移動するたびに、次の警告が表示されることに突然気付きました。

警告:ビューがウィンドウ階層にないものを提示しようとしています!

// This delegate method prepares the segue from Screen A (DilemmaViewController) to Screen B (OptionsViewController)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Executes the following "if" statement if the user wants to add new options
    if ([segue.identifier isEqualToString:@"AddOptions"]) 
    {
        UINavigationController *navigationController = segue.destinationViewController;
        OptionsViewController *controller = (OptionsViewController *)navigationController.topViewController;
        controller.delegate = self;

        // If the user has already put some inputs on the form we send them through the segue
        if ([edit count] > 0){            
            controller.edit = edit;
        }            
    }
}

アプリの最初のバージョンからこれに触れていないので、ここで何が起こっているのかわかりません。

私はWebを見回して、viewDidLoadからviewAppearにコードを移動することについて話している人もいますが、それはこのシナリオには当てはまらないと思います。

4

1 に答える 1

4

さて、私はそれを理解しました。

私の問題は、ある時点で Touch Up Inside イベントを元の (そして正しい) セグエ イベントの上に接続するというミスを犯したことでした:

ここに画像の説明を入力

今私はそれを修正しました:

ここに画像の説明を入力

再び正常に動作しています。

于 2012-11-17T13:39:02.103 に答える