标签栏控制器引发NSInternalInconsistencyException

Mas*_*aro 1 iphone iphone-sdk-3.0

在我的基于SDK 3.0核心数据的应用程序中,我有一个标签栏控制器管理4个选项卡.有时,显然是随机的,当我启动应用程序时,它会崩溃并显示以下消息:

由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因是:'不允许直接修改由标签栏控制器管理的标签栏.'

但是,我没有在我的代码中修改任何选项卡,除了以下内容.实际上,选项卡中的所有导航控制器或控制器都是使用IB设置的,在我的代码中我已经声明其中两个作为出口,因为我需要在我的app委托applicationDidFinishLaunching()方法中访问它们来设置它们的核心数据managedObjectContext如下:

 [self managedObjectContext];
 [self managedObjectModel];
 [self persistentStoreCoordinator];
 [rootViewController retain];
 rootViewController.managedObjectContext = self.managedObjectContext;
Run Code Online (Sandbox Code Playgroud)

这不正确吗?如果是这样,为什么?

我在网上看到的问题的唯一参考是:

http://discussions.apple.com/thread.jspa?messageID=9716886

但是,即使在IB中从头开始删除和重新创建标签栏控制器,问题仍然存在.

任何线索?提前致谢.

Fra*_*irs 5

我也遇到过这个问题.你有一个笔尖UITabBar本身(而不是UITabBarController)在笔尖?当我删除它时,我停止了问题.

对不起,这不是100%可靠的解释,但这种解决方法为我解决了问题.