如何填充静态的UITableView(how to populate a static UITabl

2019-10-16 15:55发布

我尝试了几种方法,但似乎我失去了一些东西..

下面是我使用的代码:

- (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];
  }
}

我把这种对viewDidLoad中。 我的tableview有16个静态的细胞,我使用标准的“字幕”类型的细胞,所以没有需要定制在这一方面。 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];

首先电视的正确分配,我可以看到。 但比这细胞和标签等来空。 就连电视也似乎没有行信息..

难道是因为拥有的tableview数据源和委托分配给tableviewcontroller ..我想我听到它不应该是这样或东西...


@jrturton在这里:

希望这可以帮助。

Answer 1:

一些日志会quicky告诉你,你的索引路径是无效的,因此有没有返回小区。

要创建在一个UITableView使用NSIndexPath,使用此方法:

[NSIndexPath indexPathForRow:idx inSection:0];

该指数路径必须包含一个行和节表去了解它。

您还需要从调用该viewWillAppear:而不是viewDidLoad中,静态表未填充的早期。 你必须调用[super viewWillAppear:animated]第一!



文章来源: how to populate a static UITableView