2011-08-10 43 views
2

我创建了一个基于导航的应用程序。在第一个视图中向我展示饮料列表,并在第二个视图中向我显示饮料的详细信息。 一切似乎确定,但同时我在(无效)的tableView navigatting的观点:(UITableView的*)的tableView didSelectRowAtIndexPath方法:(NSIndexPath *)indexPath方法,它会告诉我,就像导航点错误

错误抛出的“一个实例后终止叫NSException”

在行

[self.navigationController pushViewController:drinkDetailViewController animated:YES]; 

普莱舍帮助我,为什么会发生这样呢?

我的方法的代码如下:

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    DrinkDetailViewController *drinkDetailViewController = [[DrinkDetailViewController alloc] initWithNibName:@"DrinkDetailViewController" bundle:nil]; 
    //UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:drinkDetailViewController]; 

    //[self presentModalViewController:drinkDetailViewController animated:YES]; 

    //[self dismissModalViewControllerAnimated:YES]; 

    // ... 
    // Pass the selected object to the new view controller. 
    [self.navigationController pushViewController:drinkDetailViewController animated:YES]; 

    [drinkDetailViewController release]; 

} 

虽然我在行点击,它显示我异常消息。 这是项目日志:

2011-08-10 10:18:10.559 DrinkMixer_Shreyash[694:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "DrinkDetailViewController" nib but the view outlet was not set.' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x00dc25a9 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x00f16313 objc_exception_throw + 44 
    2 CoreFoundation      0x00d7aef8 +[NSException raise:format:arguments:] + 136 
    3 CoreFoundation      0x00d7ae6a +[NSException raise:format:] + 58 
    4 UIKit        0x000c6709 -[UIViewController _loadViewFromNibNamed:bundle:] + 295 
    5 UIKit        0x000c4134 -[UIViewController loadView] + 120 
    6 UIKit        0x000c400e -[UIViewController view] + 56 
    7 UIKit        0x000c2482 -[UIViewController contentScrollView] + 42 
    8 UIKit        0x000d2f25 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 48 
    9 UIKit        0x000d1555 -[UINavigationController _layoutViewController:] + 43 
    10 UIKit        0x000d27aa -[UINavigationController _startTransition:fromViewController:toViewController:] + 326 
    11 UIKit        0x000cd32a -[UINavigationController _startDeferredTransitionIfNeeded] + 266 
    12 UIKit        0x000d4562 -[UINavigationController pushViewController:transition:forceImmediate:] + 932 
    13 UIKit        0x000cd1c4 -[UINavigationController pushViewController:animated:] + 62 
    14 DrinkMixer_Shreyash     0x000029bf -[RootViewController tableView:didSelectRowAtIndexPath:] + 191 
    15 UIKit        0x0008bb68 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1140 
    16 UIKit        0x00081b05 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 219 
    17 Foundation       0x0079b79e __NSFireDelayedPerform + 441 
    18 CoreFoundation      0x00da38c3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19 
    19 CoreFoundation      0x00da4e74 __CFRunLoopDoTimer + 1220 
    20 CoreFoundation      0x00d012c9 __CFRunLoopRun + 1817 
    21 CoreFoundation      0x00d00840 CFRunLoopRunSpecific + 208 
    22 CoreFoundation      0x00d00761 CFRunLoopRunInMode + 97 
    23 GraphicsServices     0x00ffa1c4 GSEventRunModal + 217 
    24 GraphicsServices     0x00ffa289 GSEventRun + 115 
    25 UIKit        0x00022c93 UIApplicationMain + 1160 
    26 DrinkMixer_Shreyash     0x00002089 main + 121 
    27 DrinkMixer_Shreyash     0x00002005 start + 53 
    28 ???         0x00000001 0x0 + 1 
) 
terminate called after throwing an instance of 'NSException' 
sharedlibrary apply-load-rules all 
Current language: auto; currently objective-c 
(gdb) 

请帮我关于它。 。 。

+1

请将您的碰撞记录放在您的问题中,以便找出碰撞后的确切原因。 –

+0

请参阅我编辑的问题。谢谢回复。 。 。 –

回答

2

这是关于DrinkDetailViewController中View的IBOutlet未在XIB文件中设置的崩溃。请在XIB中设置您的视图,然后尝试运行该应用程序。这是使用Interface Builder做..

编码快乐......

+0

是的,谢谢。现在我已经解决了异常。感谢budy。 –

3

iDroid Exploer,在你drinkDetailViewController类,你必须将视图变量连接到厦门国际银行文件的视图元素。它必须通过接口构建器完成。

+0

是的,我已经完成并解决问题。谢谢回复。 –

+0

谢谢,它也帮助了我。 – Signcodeindie