一个视图一次最多只能关联一个视图控制器。 UIViewControllerHierarchyInconsistency

Posted

技术标签:

【中文标题】一个视图一次最多只能关联一个视图控制器。 UIViewControllerHierarchyInconsistency【英文标题】:A view can only be associated with at most one view controller at a time. UIViewControllerHierarchyInconsistency 【发布时间】:2013-01-15 16:15:39 【问题描述】:

我在 ios6 上遇到这个问题,在 iOs5 上运行得很好。

这会加载登录视图

- (void)viewDidLoad 
if(!currentView )
      currentView = [[Login alloc] init];

self.view = currentView.view;
   [super viewDidLoad]; 

这是在 AppDelegate 上

 if (!mvc) 
    mvc = [[[mainViewController alloc] init] autorelease];

[window addSubview:mvc.view];
[window sendSubviewToBack:mvc.view];
[window makeKeyAndVisible];

2013-01-15 18:02:33.137 fodboldfabrikken[5412:19d03] * 由于未捕获的异常“UIViewControllerHierarchyInconsistency”而终止应用程序,原因:“一个视图最多只能与一个视图控制器关联时间!视图 > 与 关联。在将此视图与关联之前清除此关联。 * 首先抛出调用栈: (0x2097012 0x1c78e7e 0x2096deb 0xa90309 0xb275ac 0xb23a90 0x3206 0xb23817 0xb23882 0x2b49 0xa3f7b7 0xa3fda7 0xa40fab 0xa52315 0xa5324b 0xa44cf8 0x2aafdf9 0x2aafad0 0x200cbf5 0x200c962 0x203dbb6 0x203cf44 0x203ce1b 0xa407da 0xa4265c 0x2a4d 0x2985为0x1) libc++abi.dylib:终止调用抛出异常

【问题讨论】:

【参考方案1】:

你不能在另一个控制器里面有一个控制器,这就是你在这里所做的 mvc = [[[mainViewController alloc] init] autorelease];

【讨论】:

以上是关于一个视图一次最多只能关联一个视图控制器。 UIViewControllerHierarchyInconsistency的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 4.5 黑屏或异常:“一个视图一次只能与一个视图控制器关联!”

IOS 6 上的应用程序崩溃 - UIViewControllerHierarchyInconsistency

关于 UITable 视图的异常

每次加载视图时只能调用一次 layoutIfNeeded - 例如视图加载?

drf序列化高级自定义只读只写序列化覆盖字段二次封装Response数据库查询优化(断关联)十大接口视图家族自动补全图片链接

《iOS Human Interface Guidelines》——Tab Bar