1

タブ バー コントローラー、ナビゲーション コントローラー、およびテーブルビュー コントローラーを実装する iOS アプリケーション (http://affogato.visioa.com/) を開発していますが、アプリケーションを実行するたびに、「スレッド 1: プログラムがシグナルを受け取りました: 「SIGABRT」なぜ私がこれを取得しているのか、そしてそれを修正する方法について誰かが光を当てることができますか?

以下はコンソールです。

2011-08-28 13:13:57.070 Affogato[16469:b303] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "CoffeesView" nib but didn't get a UITableView.'
*** Call stack at first throw:
(
0   CoreFoundation                      0x00dc95a9 __exceptionPreprocess + 185
1   libobjc.A.dylib                     0x00f1d313 objc_exception_throw + 44
2   CoreFoundation                      0x00d81ef8 +[NSException raise:format:arguments:] + 136
3   CoreFoundation                      0x00d81e6a +[NSException raise:format:] + 58
4   UIKit                               0x00224e9b -[UITableViewController loadView] + 275
5   UIKit                               0x000cb00e -[UIViewController view] + 56
6   UIKit                               0x000c9482 -[UIViewController contentScrollView] + 42
7   UIKit                               0x000d9f25 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 48
8   UIKit                               0x000d8555 -[UINavigationController _layoutViewController:] + 43
9   UIKit                               0x000d9870 -[UINavigationController _startTransition:fromViewController:toViewController:] + 524
10  UIKit                               0x000d432a -[UINavigationController _startDeferredTransitionIfNeeded] + 266
11  UIKit                               0x001ef2e9 -[UILayoutContainerView layoutSubviews] + 226
12  QuartzCore                          0x016b3a5a -[CALayer layoutSublayers] + 181
13  QuartzCore                          0x016b5ddc CALayerLayoutIfNeeded + 220
14  QuartzCore                          0x0165b0b4 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 310
15  QuartzCore                          0x0165c294 _ZN2CA11Transaction6commitEv + 292
16  UIKit                               0x0001d9c9 -[UIApplication _reportAppLaunchFinished] + 39
17  UIKit                               0x0001de83 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 690
18  UIKit                               0x00028617 -[UIApplication handleEvent:withNewEvent:] + 1533
19  UIKit                               0x00020abf -[UIApplication sendEvent:] + 71
20  UIKit                               0x00025f2e _UIApplicationHandleEvent + 7576
21  GraphicsServices                    0x01002992 PurpleEventCallback + 1550
22  CoreFoundation                      0x00daa944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
23  CoreFoundation                      0x00d0acf7 __CFRunLoopDoSource1 + 215
24  CoreFoundation                      0x00d07f83 __CFRunLoopRun + 979
25  CoreFoundation                      0x00d07840 CFRunLoopRunSpecific + 208
26  CoreFoundation                      0x00d07761 CFRunLoopRunInMode + 97
27  UIKit                               0x0001d7d2 -[UIApplication _run] + 623
28  UIKit                               0x00029c93 UIApplicationMain + 1160
29  Affogato                            0x00001ed9 main + 121
30  Affogato                            0x00001e55 start + 53
31  ???                                 0x00000001 0x0 + 1
)
terminate called throwing an exception
4

5 に答える 5

6

コンソールログの最初の行は、SIGABRTの理由を示しています。

2011-08-28 13:13:57.070 Affogato [16469:b303]***アプリを終了します
キャッチされない例外「NSInternalInconsistencyException」が原因で、
理由:'-[UITableViewController loadView]
「CoffeesView」ペン先をロードしましたが、UITableViewを取得しませんでした。

UITableViewControllerを使用する場合は、NIBファイルでUITableViewを探して制御します-そこにUITableViewがありますか?

一方、この種のコントローラーを使用するつもりがなかった場合は、.hファイルでUIViewControllerに変更するだけです。

于 2011-08-28T15:42:43.867 に答える
1

同じエラーメッセージが表示されました。私の場合、ストーリーボードシーンでテーブルビューの「ビュー」アウトレットが接続されていませんでした。ViewControllerオブジェクトからシーンに埋め込まれたUITableViewオブジェクトへのドラッグを制御します。HTH。

于 2011-11-03T21:32:53.033 に答える
1

ストーリーボードにも同じ問題がありました。解決策は非常に簡単でした.ストーリーボードでは、UIViewController実際には.viewcontrollerシーンにクラスを使用していましたUITableViewController. シーンを削除してUIViewController新しいUITableViewControllerシーンを作成したところ、エラーはなくなりました。

ストーリーボードを使用している場合と同じ問題があると確信しています。ストーリーボードを使用していない場合は、XIB で設定しているクラス名が である必要があることを確認してください。UITableViewControllerカスタム クラスはUITableViewControllerin .h ファイルを継承する必要があります。また、ビュー アウトレットがコントローラーに設定されていることも確認してください。

于 2013-02-17T20:16:13.850 に答える
0

このエラーは、ストーリーボードを使用している場合にも発生する可能性があります。

ストーリーボードを使用してユニバーサル アプリとしてプロジェクトを開始し、後で iPad でアプリを実行するときに電話でのみサポートするようにプロジェクトを変更すると、このエラーが表示される場合があります。

これを一時的に修正するには、プロジェクトをユニバーサルに戻し、iPad ストーリーボードを iPhone ストーリーボードを使用するように設定してから、プロジェクトを iPhone に戻します。

参考までに

于 2012-10-12T12:38:39.610 に答える
-1

変更する必要があると思います:

[coffeeTypesArray objectAtIndex:row]

[coffeeTypesArray objectAtIndex:indexPath.row]
于 2011-08-28T14:27:08.063 に答える