Iphone performSelector引发UIViewControllerHierarchyConsistency异常

Iphone performSelector引发UIViewControllerHierarchyConsistency异常,iphone,objective-c,ios,xcode,ios5,Iphone,Objective C,Ios,Xcode,Ios5,我是在XCode 4.1上为iOs 4.3开发应用程序的,但昨天我用iOs 5.0 SDK将其更新为XCode 4.2 当我在iPhone4.3模拟器中运行我的应用程序时,它工作得非常好。 我决定在iphone 5.0模拟器上测试它,出现了以下问题: 我有一个视图控制器f.e“MyViewController”,还有一个自定义类,它实现了一些自定义组件“MyCustomComponent”,该组件被添加到“MyViewController”。MyCustomComponent中有一个按钮,当它

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

当我在iPhone4.3模拟器中运行我的应用程序时,它工作得非常好。 我决定在iphone 5.0模拟器上测试它,出现了以下问题:

  • 我有一个视图控制器f.e“MyViewController”,还有一个自定义类,它实现了一些自定义组件“MyCustomComponent”,该组件被添加到“MyViewController”。MyCustomComponent中有一个按钮,当它被触碰时,会从MyViewController中弹出一个选择器,它会导致EXC_坏东西崩溃。同样的代码在iPhone4.3模拟器上运行得非常完美。有什么想法吗
  • 自定义导航栏-根本不起作用。我试图设置自定义后台实现UINavigationBar,并覆盖drawRect,但它在iOS5中没有显示

EXC\u BAD\u访问意味着该对象不存在。尝试记录正在其上执行PerformSelect方法的对象

编辑:如果在您尝试记录它时它崩溃,则它已被解除分配。检查是否正确保留对象

如果它是有效对象,请尝试:

if(![obj respondsToSelector:@selector(mySelector:)]){NSLog(@"no such method!");}

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

由于未捕获异常而终止应用程序 “UIViewControllerHierarchyInconsistency”

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

self.view=myCustomComponent.view
我该做什么

[self.view addSubview:myCustomCoponent.view]

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

我也遇到了同样的问题

当您创建一个新的主细节应用程序(不带故事板)时,您可以从AppDelegate.m中看到下面的代码

 MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
“不依赖于主窗口” 只需从您自己的ViewController开始,并将其设置为“委派”。
不要忘记从MainWindow.xib取消视图链接,否则视图将被调用2次。

nil
发送消息在Objective-C中是不可操作的。对象是有效的,并且对象响应选择器,但我仍然会在pefrormSelector上崩溃(((控制台有什么提示吗?没有,只是SIGABRT,仅此而已。导航栏修好了,所以我想我把它修好了。当我重新安装xcode时,我的控制台关闭了,所以没有看到任何错误消息。现在打开它,出现了一个错误“由于未捕获的异常“UIViewControllerHierarchy”而终止应用程序”。问题是,当我应该做[self.view addSubview:myCustomCoponent.view]时,我使用self.view=MyCustomComponent.view将MyCustomComponent添加到MyViewController,这在ios 4.3中不是问题,但在ios 5中似乎是个大问题。