0

我只是将UITableviewController推送到导航堆栈。'NSInternalInconsistencyException' - 无法在uinavigationcontroller上推uitableviewcontroller ios 6

终止应用程序由于未捕获的异常“NSInternalInconsistencyException”,原因:代码在两个的iOS 4.3和5,但崩溃在IOS 6.例外是工作正常“ - [UIViewController中_loadViewFromNibNamed:束:]加载的‘MenuController’笔尖但没有设定观点。“

我知道这个异常是当未设置视图插座时引发的。如图所示,出口由IB自动设置,但仍然相同。我究竟做错了什么?

简单的代码推控制器:

MenuController *menu = [[MenuController alloc] initWithStyle:UITableViewStylePlain]; 
    menu.title = @"Watches"; 
    menu.MenuToBeDisplayed = @"main menu"; 
    [self.navigationController pushViewController:menu animated:YES]; 

enter image description here

堆栈跟踪是:

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:方法,但自从昨天以来,我仍然遇到这个愚蠢的异常。这将推动我疯了:(

回答

0

随着

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

你不使用你的厦门国际银行文件,同时becouse与厦门国际银行INITING contreoller你需要使用

initWithNibName:bundle:,而不是initWithStyle:

然后像这样在xib上设置你的控制器的类

setting xib's controllers custom class

+0

感谢您的回复。我在三个文件中使用它。它在两个工作正常,但不知道为什么它搞砸在一个文件只。 – NightFury 2013-05-10 08:57:05

+0

我也尝试使用initWithNibName:bundle:但是这不起作用。 – NightFury 2013-05-10 08:57:58

+0

尝试干净的项目,并从模拟器或设备删除应用程序,然后再试一次可能会有一些问题与xib文件 – Ulugbek 2013-05-10 08:58:40

相关问题