如何填充静态UITableView

Pla*_*ato 1 populate uitableview fill ios

我试过几种方法,但似乎我错过了一些东西......

这是我使用的代码:

- (void)configureView
{
// Update the user interface for the detail item.
  if (self.detailItem) {
    for (int idx=0; idx<16; idx++) {
        NSIndexPath *indexPath = [[NSIndexPath alloc] initWithIndex:idx];
        [self.tableView cellForRowAtIndexPath:indexPath].detailTextLabel.text = [param objectAtIndex:idx];
    }
    self.detailDescriptionLabel.text = [self.detailItem description];
  }
}
Run Code Online (Sandbox Code Playgroud)

我在viewDidLoad上调用它.我的tableview有16个静态单元格,我正在使用标准的"Subtitle"类型单元格,所以在这方面不需要定制.textLabel.text在设计时填充.我的tableview也在tableViewController中.我也试过了tableview的标准群体,但似乎静态细胞不同意这种方式.

我究竟做错了什么?


@jrturton我做了一些修改,看看发生了什么:

我补充下这三条线线,看看是否有什么事有:

        UITableView *tv = self.tableView;
        UITableViewCell *cell = [tv cellForRowAtIndexPath:[NSIndexPath indexPathForRow:idx inSection:0]];
        NSString *label = [[NSString alloc] initWithString:cell.textLabel.text];
Run Code Online (Sandbox Code Playgroud)

首先,电视是正确分配的,我可以看到.但除了那个细胞和标签之外,它是空的.甚至电视似乎没有行信息..

可能是因为tableview将数据源和委托分配给tableviewcontroller ..我想我听说它应该不是那样的东西......


@jrturton这是:

静电池

的tableview

故事板

希望这可以帮助.

jrt*_*ton 6

某些日志记录会快速显示您的索引路径无效,因此不会返回任何单元格.

要创建用于UITableView的NSIndexPath,请使用以下方法:

[NSIndexPath indexPathForRow:idx inSection:0];
Run Code Online (Sandbox Code Playgroud)

索引路径必须包含表的行和部分才能理解它.

您还需要从viewWillAppear:viewDidLoad而不是viewDidLoad 调用它,静态表不会在早期填充.你必须先打电话[super viewWillAppear:animated]!