iphone - PerformSelector 抛出 UIViewControllerHierarchyInconsistency 异常

标签 iphone objective-c ios xcode ios5

我在 XCode 4.1 上为 iOs 4.3 开发应用程序,但昨天我已使用 iOs 5.0 SDK 将其更新到 XCode 4.2。

当我在 iphone 4.3 模拟器中运行我的应用程序时,它运行得很好。 我决定在iphone 5.0模拟器上测试一下,出现了以下问题:

  • 我有一个 View Controller “MyViewController”,以及一个自定义类,该类实现了一些添加到“MyViewController”的自定义组件“MyCustomComponent”。 MyCustomComponent 中有一个按钮,当它触及 MyViewController 中的 peformSelector 时,它会导致 EXC_BAD 崩溃。相同的代码在 iPhone 4.3 模拟器上运行得非常完美。有任何想法吗?
  • 自定义导航栏 - 根本不起作用。我正在尝试设置自定义背景来实现 UINavigationBar 并覆盖 drawRect,但它不会在 ios 5 中显示。

最佳答案

好的,所以我想我已经弄清楚了。当我重新安装 xcode 时,我的控制台关闭了,所以没有看到任何错误消息。现在打开它,出现错误

Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency'

问题是我使用将 MyCustomComponent 添加到 MyViewController

self.view=myCustomComponent.view

什么时候我应该做

[self.view addSubview:myCustomCoponent.view]

这在 ios 4.3 中不是问题,但在 ios 5 中似乎是个大问题。

关于iphone - PerformSelector 抛出 UIViewControllerHierarchyInconsistency 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7752159/

相关文章:

image - 适用于 iPad 应用程序的 iOS 图像轮播

iphone - 如何使用搜索栏实现基于单个字母的搜索?

iphone - 异步回调已解除的 View Controller ?

objective-c - 无法使用文件路径实例化 NSURL

objective-c - 向 NSOutlineView 添加标签元素

ios - 如何设置不是InterfaceController的HKWorkoutSessionDelegate

iphone - 在 iphone 上使用正则表达式捕获括号

iphone - 创建 "settings"选项

iphone - 如何检查设备是 LTE、3G、HSPA 还是 Wi-Fi?

ios - 为什么在子类中看不到继承的实例变量?