iPad 肖像中 <UITableView> 对 begin/end 外观转换的不平衡调用

Unbalanced calls to begin/end appearance transitions for <UITableView> in iPad portrait

我的应用程序的 iPad 版本使用 UISplitViewController,我在两个视图控制器上加载了 UINavigationControllers。在某些事件中,两个视图控制器都会推送和弹出新控制器。当我横向使用该应用程序时,一切正常,而当我纵向使用它时,我得到:

Unbalanced calls to begin/end appearance transitions for iPuja.MonastersAndCentersTableViewController: 0x18d7b020. notwithstanding everything seems to work fine, apart of the error.

这就是我从细节一中弹出主控制器的方式 (Swift):

@IBAction func dismiss(sender: AnyObject) {
    self.navigationController?.popViewControllerAnimated(true)
    (self.splitViewController?.viewControllers[0] as? UINavigationController)?.popViewControllerAnimated(true)
}

这就是我推动它的方式 (objective-c):

if([[[UIDevice currentDevice] model] isEqualToString:@"iPad"]){
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"StoryboardiPad" bundle: nil];
    UIViewController *controller = [mainStoryboard instantiateViewControllerWithIdentifier: @"editCenters"];
    [self.splitViewController.viewControllers[0] pushViewController:controller animated:YES];
}

如果我跳过弹出主控制器我不会出错,但是当我显示它时当然不会弹出主细节。

有趣的是,如果我通过拖动将主控制器短暂显示为纵向,则不再出现错误,直到我将其旋转为横向并再次旋转为纵向。

我通过将主控制器上的操作延迟到它显示的时间来解决这个问题。代码有点不太优雅,但是warning没有了