7

今天我更新了我的 Xcode 并开始为新的 iPhone 5 屏幕更新我的应用程序。

我突然注意到,每次我从屏幕 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;
        }            
    }
}

自从我的应用程序的第一个版本以来,我还没有碰过这个,所以我不确定这里会发生什么。

我环顾了网络,有些人谈论将代码从 viewDidLoad 移动到 viewAppear,但我认为这不适用于这种情况。

4

1 回答 1

4

好吧,我想通了。

我的问题是,在某些时候我犯了将 Touch Up Inside 事件连接到原始(正确)segue 事件之上的错误:

在此处输入图像描述

现在我修复了它:

在此处输入图像描述

它再次正常工作。

于 2012-11-17T13:39:02.103 回答