【问题标题】:UIViewControllerHierarchyInconsistency clear associationUIViewControllerHierarchyInconsistency 清除关联
【发布时间】:2012-11-17 11:16:30
【问题描述】:

我知道这个问题之前已经发布过,但我找到的答案与这个案例不同

在运行 2 年前在 Xcode 4.5.1 中编写的应用后发生异常。

这是:

异常'UIViewControllerHierarchyInconsistency', 原因:'一个视图一次最多只能关联一个视图控制器! 相关联。在将此视图与 关联之前清除此关联。'

然后在像这样的几个答案中

UIViewControllerHierarchyInconsistency when trying to present a modal view controller

建议删除 nib 文件中的 viewcontroller,就像在问题图片上看到的一样。

问题是在这种情况下,我没有 viewController,这是 TabledReservationListController 的 nib 文件:

这是应用程序崩溃的代码部分:

- (void)viewDidLoad {
    [super viewDidLoad];

    [navigation setDelegate: self];
    [self createReservationListController];

    [reservationListController viewWillAppear: NO];

     // in this line below
    [[navigation topViewController] setView: [reservationListController view]];

    [reservationListController viewDidAppear: NO];

    [[self view] addSubview: [navigation view]];
    CGRect r = [[self view] frame];
    r.origin.y = 0;
    [[navigation view] setFrame: r];

    [reservationListController setNavigationController: navigation];
}


- (void)createReservationListController {
    TabledReservationListController *res_ =
        [[TabledReservationListController alloc] initWithNibName: @"TabledReservationListView"
                                                          bundle: nil];
    [self setReservationListController: res_];
    [res_ release];

    [[[self navigation] topViewController] setTitle: @"Available Tables"];
}

也许有人可以帮忙,问候。

【问题讨论】:

    标签: objective-c ios ios6


    【解决方案1】:

    您不应致电viewWillAppearviewDidAppear。这些应该是框架调用您的方法。

    您应该推送reservationListController,而不是尝试将reservationListController 的视图提供给不同的控制器。

    【讨论】:

    • 谢谢,我会试试的。该应用程序有点复杂,是由另一个人编写的,我是 iOS 的初学者。我认为他试图在 ReservationListPresenterController 的属性中加载具有相同结构(TabledReservationListController)的不同视图,即 ReservationListController。如果我因为大小而将所有代码都粘贴在这里,那将是怪诞的。问题始于 Xcode 4.5 和 UIViewControllerHierarchyInconsistency。
    猜你喜欢
    • 2012-08-06
    • 2019-11-08
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多