首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'NSInternalInconsistencyException‘-无法在uinavigation控制器ios 6上推送uitableviewcontroller

'NSInternalInconsistencyException‘-无法在uinavigation控制器ios 6上推送uitableviewcontroller
EN

Stack Overflow用户
提问于 2013-05-09 11:09:45
回答 1查看 534关注 0票数 0

我只是简单地将一个UITableviewController推到导航堆栈。代码在iOS 4.3和5中都能正常工作,但在iOS 6中却会崩溃。

由于异常'NSInternalInconsistencyException‘终止应用程序,原因:-UIViewController _loadViewFromNibNamed:bundle:加载了"MenuController“nib,但未设置视图出口’

我知道当未设置视图出口时会引发此异常。出口由IB自动设置,如图所示,但仍然相同。我做错了什么?

简单的代码推送控制器:

代码语言:javascript
复制
MenuController *menu = [[MenuController alloc] initWithStyle:UITableViewStylePlain];
    menu.title = @"Watches";
    menu.MenuToBeDisplayed = @"main menu";
    [self.navigationController pushViewController:menu animated:YES];

堆栈跟踪是:

代码语言:javascript
复制
 0   CoreFoundation                      0x01f3e02e __exceptionPreprocess + 206
    1   libobjc.A.dylib                     0x01a12e7e objc_exception_throw + 44
    2   CoreFoundation                      0x01f3ddeb +[NSException raise:format:] + 139
    3   UIKit                               0x00a3af18 -[UIViewController _loadViewFromNibNamed:bundle:] + 505
    4   UIKit                               0x00a3b418 -[UIViewController loadView] + 302
    5   UIKit                               0x00b8934e -[UITableViewController loadView] + 80
    6   UIKit                               0x00a3b648 -[UIViewController loadViewIfRequired] + 73
    7   UIKit                               0x00a3b882 -[UIViewController view] + 33
    8   UIKit                               0x00a3bb2a -[UIViewController contentScrollView] + 36
    9   UIKit                               0x00a52ef5 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 36
    10  UIKit                               0x00a52fdb -[UINavigationController _layoutViewController:] + 43
    11  UIKit                               0x00a53286 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 254
    12  UIKit                               0x00a53381 -[UINavigationController _startTransition:fromViewController:toViewController:] + 72
    13  UIKit                               0x00a53eab -[UINavigationController _startDeferredTransitionIfNeeded:] + 386
    14  UIKit                               0x00a544a3 -[UINavigationController pushViewController:transition:forceImmediate:] + 1030
    15  UIKit                               0x00a54098 -[UINavigationController pushViewController:animated:] + 62
    16  Tick                                0x000e5f02 -[MarketWatchViewController openMenu] + 274
    17  libobjc.A.dylib                     0x01a26705 -[NSObject performSelector:withObject:withObject:] + 77
    18  UIKit                               0x0095d920 -[UIApplication sendAction:to:from:forEvent:] + 96
    19  UIKit                               0x00b99b24 -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 139
    20  libobjc.A.dylib                     0x01a26705 -[NSObject performSelector:withObject:withObject:] + 77
    21  UIKit                               0x0095d920 -[UIApplication sendAction:to:from:forEvent:] + 96
    22  UIKit                               0x0095d8b8 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 61
    23  UIKit                               0x00a1e671 -[UIControl sendAction:to:forEvent:] + 66
    24  UIKit                               0x00a1ebcf -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 578
    25  UIKit                               0x00a1dd38 -[UIControl touchesEnded:withEvent:] + 546
    26  UIKit                               0x0098d33f -[UIWindow _sendTouchesForEvent:] + 846
    27  UIKit                               0x0098d552 -[UIWindow sendEvent:] + 273
    28  UIKit                               0x0096b3aa -[UIApplication sendEvent:] + 436
    29  UIKit                               0x0095ccf8 _UIApplicationHandleEvent + 9874
    30  GraphicsServices                    0x0291adf9 _PurpleEventCallback + 339
    31  GraphicsServices                    0x0291aad0 PurpleEventCallback + 46
    32  CoreFoundation                      0x01eb3bf5 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53
    33  CoreFoundation                      0x01eb3962 __CFRunLoopDoSource1 + 146
    34  CoreFoundation                      0x01ee4bb6 __CFRunLoopRun + 2118
    35  CoreFoundation                      0x01ee3f44 CFRunLoopRunSpecific + 276
    36  CoreFoundation                      0x01ee3e1b CFRunLoopRunInMode + 123
    37  GraphicsServices                    0x029197e3 GSEventRunModal + 88
    38  GraphicsServices                    0x02919668 GSEventRun + 104
    39  UIKit                               0x0095a65c UIApplicationMain + 1211
    40  Tick                                0x00002dc5 main + 197
    41  Tick                                0x00002cb5 start + 53

编辑:

我已经删除了nib文件,也删除了initWithNibName:方法,但是从昨天开始,我仍然得到了这个愚蠢的异常。这会把我逼疯的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-10 08:28:29

使用

MenuController *menu = [[MenuController alloc] initWithStyle:UITableViewStylePlain];

您根本没有使用您的xib文件,因为您需要使用

initWithNibName:bundle:而不是initWithStyle:

然后在xib上设置控制器的类,如下所示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16460348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档