我知道这个问题之前已经发布过,但我找到的答案不是根据这种情况
运行 2 年前在 Xcode 4.5.1 中编写的应用程序后发生异常。
这是:
异常'UIViewControllerHierarchyInconsistency',原因:'一个视图一次最多只能与一个视图控制器相关联!<UIView: 0xaa9c4f0; 帧 = (0 0; 320 367); 自动调整大小 = W+H;layer = > 与 <TabledReservationListController: 0xaa89e80> 相关联。在将此视图与 <UIViewController: 0x9e9e310> 关联之前清除此关联。
然后在像这样的几个答案中
尝试呈现模态视图控制器时的 UIViewControllerHierarchyInconsistency
建议删除 nib 文件中的视图控制器,就像在问题图像上看到的那样。
问题是在这种情况下,我没有 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"];
}
也许有人可以帮忙,问候。