2011-08-10 63 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