在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文件(也没有故事板)。
答案 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
文件中设置委托协议的原因。
如果您收到其他错误,请告诉我