1

I am developing an iOS application (http://affogato.visioa.com/) that implements a tab bar controller, navigation controller and a tableview controller and each time I run my application, I get: "Thread 1: Program recieved signal: "SIGABRT". Could anyone shed any light as to why I am getting this and how to correct it?

Below is the console:

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 - 那里有吗?

另一方面,如果您不打算使用这种控制器,只需将其更改为 .h 文件中的 UIViewController 即可。

于 2011-08-28T15:42:43.867 回答
1

我收到了相同的错误消息,在我的情况下,表格视图的“视图”出口未连接到情节提要场景中。控制从 ViewController 对象拖动到场景中嵌入的 UITableView 对象。HTH。

于 2011-11-03T21:32:53.033 回答
1

我对故事板有同样的问题。解决方案非常简单,在情节提要中,我正在UIViewController为我的视图控制器场景使用该类,实际上应该是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 回答