小编Dar*_*ell的帖子

iOS 7错误警告:在演示文稿或解散正在进行时尝试从视图控制器<UINavigationController:0x1568db40>中解除

我在iOS 7中遇到的问题并未出现在iOS 6中.

我有一个导航控制器,显示另一个导航控制器来添加员工.第二个控制器以模态方式呈现.当我用"取消"或"完成"按钮关闭第二个控制器时,我收到错误.这是错误:

QuickSchedule [880:60b]警告:在演示或解雇过程中尝试从视图控制器中解除!

我正在使用unwind segue并使用以下相关代码从第一个控制器中解除.

这是在ScheduleViewController.m(我的主控制器窗口)

- (IBAction)done:(UIStoryboardSegue *)segue
{
    if ([[segue identifier] isEqualToString:@"DoneEditing"]) {
        [[MyManager sharedManager] saveChanges];
        [self dismissViewControllerAnimated:YES completion:NULL];
    }
}
Run Code Online (Sandbox Code Playgroud)

连接检查器中"完成"按钮的连接只是"动作 - > [展开完成:]"

在升级到Xcode 5之前我没有错误.这一切都是在将Xcode和我的故事板升级到iOS 7之后开始的.

我在我的应用程序中的不同位置得到相同的错误,但同样,它是一个模态呈现的视图控制器.

我以模态方式从EmployeeViewController转到AddEmployeeViewController.当我从AddEmployeeViewController返回时,我再次收到错误.

EmployeeViewController.m

- (IBAction)done:(UIStoryboardSegue *)segue
{
    if ([[segue identifier] isEqualToString:@"ReturnInput"]) {
        AddEmployeeViewController *addController = [segue sourceViewController];
        if (addController.employee) {
            [[MyManager sharedManager] saveChanges];
            [[self tableView] reloadData];
        }
        if (![self.presentedViewController isBeingDismissed]) {
            [self dismissViewControllerAnimated:YES completion:nil];
        }
    }
}

- (IBAction)cancel:(UIStoryboardSegue *)segue
{
    if ([[segue identifier] isEqualToString:@"CancelInput"]) {
        [self …
Run Code Online (Sandbox Code Playgroud)

iphone uiviewcontroller ios ios7

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

ios ×1

ios7 ×1

iphone ×1

uiviewcontroller ×1