将UIViewController更改为UITableViewController?

时间:2011-04-09 18:45:08

标签: objective-c xcode ios4 uiviewcontroller uitableview

我有一个UITableView,我想从中重新加载数据。我知道怎么做,但是当从[self.tableView reloadData]调用它时,我得到的错误与我当前的UIViewController配置如下:

@interface processViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {

所以我的想法是将UIViewController更改为UITableViewController,如下所示:

@interface processViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> {

// or this:

@interface processViewController : UITableViewController {

但是,在尝试加载视图时,我收到此错误:

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

在界面构建器中,那里没有tableView连接(但是有delegate和dataSource)。

我做错了什么?

谢谢,
库尔顿

1 个答案:

答案 0 :(得分:2)

听起来好像需要在Interface Builder中将控制器实例的标识(换句话说,类)设置为自定义子类。

顺便说一下,tableView的{​​{1}}属性在IB中没有暴露过,因为它基本上是UITableView属性的同义词 - 这两个属性都指的是相同的实例变量view_view属性的输入更为强烈。

只是附注:根据惯例,Objective-C类名称应以大写字母开头,即tableView,而不是ProcessViewController