应用程序崩溃在设备上但不在模拟器中:[UITableViewController loadView]加载了“XXXViewController”笔尖,但没有得到UITableView。

时间:2014-01-07 14:36:00

标签: ios iphone objective-c uitableview

在IOS模拟器上运行我的应用程序时,它运行正常,但如果我在设备上运行它,我会收到下一个错误:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "XXXViewController" nib but didn't get a UITableView.'

这可能是一个错误,因为它在iOS模拟器中工作。 有谁知道如何解决这一问题?

我已将视图控制器设置为

@interface XXXViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate>

我以编程方式创建了视图,因此没有xib文件(也没有故事板)。

3 个答案:

答案 0 :(得分:1)

添加

- (id)initWithStyle:(UITableViewStyle)style
{
    return [self init];
}

解决了这个问题。正如我在

中所说的那样
-(id)init
{
    // Call the superclass's designated initializer
    self = [super initWithStyle:UITableViewStyleGrouped];
    if (self) {
...
    }
    return self;
}

答案 1 :(得分:0)

而不是:

@interface XXXViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate>

尝试:

@interface XXXViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

答案 2 :(得分:0)

UITableViewController替换为UIViewController。有可能你有一个UITableView而不是UITableViewController因此你明确在.h文件中设置委托协议的原因。

如果您收到其他错误,请告诉我