0

大家好!我在重新加载我的 tableView 时遇到了一些问题。我将我的 tableView 子类化为一个名为RadioTable的类。我也对我的 TableViewCells 进行了子类化,但这在这里并不重要。

我需要指出我很新,并且从一些教程和东西中构建了我的子类。

首先,这是我尝试重新加载数据时收到的错误消息。我正在使用 [self.tableView reloadData] 重新加载它。

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

好的,所以问题很清楚。视图(我的 nib 文件)没有任何 tableView 连接到文件所有者。这就是我试图解决的问题。我试图在我的子类中添加一个 IBOutlet,并在那里设置 tableView-property。

(我的 tableView-subclass 是从 UITableView 继承的,这样就清楚了)

这是我的初始化代码:

- (id)initWithStyle:(UITableViewStyle)style {

 if ((self = [super initWithStyle:style])){
  RadioTable *aTableView = [[RadioTable alloc] initWithFrame:self.tableView.frame style:style];
  [aTableView setDelegate:self];
  [aTableView setDataSource:self];
  [aTableView setSwipeDelegate:self];
  [aTableView setRowHeight:54];

     [self setTableView:aTableView];
        [self.tableView setScrollEnabled:NO];
        [self.tableView setRowHeight:80];
        [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
        [self.tableView setSeparatorColor:[UIColor lightGrayColor]];
  [aTableView release];

 }

 return self;
}

当我启动应用程序时,tableView 运行良好,它运行良好。但是当我尝试重新加载它时会出现问题。

4

1 回答 1

2

我不确定这是否能解决您的问题,但不要在其 init 方法中创建视图控制器的视图。相反,loadView在该方法中覆盖并创建表视图。并且不仅将表分配给tableView属性,还分配给视图控制器的view属性。

loadView有关详细信息,请参阅文档viewDidLoad

于 2010-09-29T21:26:51.023 回答