UITableViewController在iOS6模拟器上崩溃

问题描述:

我正在研究一个项目,只是更新到Xcode 4.5,我正在使用iOS 6模拟器。 现在,我发现了以下错误:UITableViewController在iOS6模拟器上崩溃

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

这很奇怪,因为我没有这个控制器的任何NIB文件,因为它只是一个表:

@interface FeedController : UITableViewController <EGORefreshTableHeaderDelegate> 

- (void)reloadTableViewDataSource; 
- (void)doneLoadingTableViewData; 

@end 

该控制器是由一个装Tab控制器,它可以毫无问题地分配FeedController,但是当你按下Tab按钮来显示Feed时,它会随着该错误而崩溃。 它在ios4和ios5模拟器和设备上运行良好。

Clean &构建项目没有帮助。

任何人都有同样的问题?

+0

你能不能给你用初始化的UITableViewController的代码? – hukir

+0

初始化只需:FeedController * controller = [[FeedController alloc] init];这很奇怪,我也有(在同一个项目中)其他控制器从UITableViewController继承,没有任何问题,功能是相同的。 – Firula

+0

尝试使用initWithStyle:而不是FeedController上的init。 – hukir

这里列出的答案是否有帮助? nib but didn't get a UITableView

如果不是,您的UITabBarController是由NIB创建的,它以某种方式指定FeedController选项卡的非UITableView视图?

你必须补充一点:

- (id)initWithStyle:(UITableViewStyle)style 
{ 
    self = [super initWithStyle:style]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
}