iPhone XCode UITabBarController 和 UINavigationController

Posted

技术标签:

【中文标题】iPhone XCode UITabBarController 和 UINavigationController【英文标题】:iPhone XCode UITabBarController and UINavigationController 【发布时间】:2012-09-25 14:11:42 【问题描述】:

当我收到以下错误时,我正在尝试更新我的应用程序以在 iPhone 5 上运行:

Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency',
reason: 'A view can only be associated with at most one view controller at a time!
View <UITableView: 0x88fbe00; frame = (0 20; 320 548); clipsToBounds = YES; opaque = NO; 
autoresize = W+H; gestureRecognizers = <NSArray: 0x8395940>; layer = <CALayer: 0x8395350>;
contentOffset: 0, 0> is associated with <UIViewController: 0x83967d0>. Clear this
association before associating this view with <UIViewController: 0x8381220>.'

我正在运行 XCode 4.5 版,这在以前从未发生过。我尝试按照this question 中的步骤进行操作。这是我的 MainWindow.xib 的样子:

我做错了什么,我该如何解决?

【问题讨论】:

【参考方案1】:

找到了我的解决方案。在应该加载时打开导致异常的视图的 XIB 文件。确保 Object 列表顶部没有 ViewController 对象,而 View 位于其下方。如果有,移动视图,这将把它下面的所有东西都移动到与 ViewController 对象相同的级别。现在删除 ViewController 对象并确保您的 XIB 类已正确设置为您的 ViewController 类,希望它能正常工作。


我也有同样的问题。 Xcode 4.5 在 ios6(设备或模拟器)上构建和运行我遇到了这个问题。在

【讨论】:

【参考方案2】:

在您的层次结构中有一个表格视图,它通过它们的view 出口与两个不同的视图控制器相关联。这不是受支持的方案,因此例外。看看你的表视图,看看哪一个连接到多个视图控制器。

【讨论】:

【参考方案3】:

我在最后一个小时遇到了这个问题。遵循所有建议后,问题仍然存在。当我删除派生数据时,不一致异常终于消失了。今天的教训,删除派生数据!!

【讨论】:

以上是关于iPhone XCode UITabBarController 和 UINavigationController的主要内容,如果未能解决你的问题,请参考以下文章

xcode 开发问题,xcode4.2+sdk6.0用iphone5真机测试,结果说说是iphone5版本过高,不能用于测试

Xcode (iPhone) 构建警告

无法将 iPhone 连接到 Xcode 5.1?

Xcode 查看iPhone的(唯一标识)UDID

iPhone 的 XCode 测试自动化

XCode - iPhone 开发团队