如何手动调用UITableView的titleForHeaderInSection方法?

时间:2011-06-27 14:51:38

标签: iphone uitableview delegates title sections

非常简单的问题,但我无法让它正常工作。当单击该部分中的单元格时,我需要能够访问部分的字符串标题值。

我最初的尝试没有奏效:

[tableView titleForHeaderInSection:1];

我认为这样做的原因是因为我也在使用它:

[tableView cellForRowAtIndexPath:indexPath];

哪个工作正常。我正在实现委托,但我仍然得到UITableView可能无法响应titleForHeaderInSection的警告。然后由于无法识别的选择器而崩溃。

我需要做的就是将单元格标题的字符串值和节标题传递给下一个视图。

我做错了什么?有更好的方法吗?感谢

4 个答案:

答案 0 :(得分:1)

您可以从titleForHeaderInSectionUITableViewController访问UITableView:您只需要关注对象链。

从视图控制器开始的示例:

class TableViewController: UITableViewController {

    func titleForHeaderInSection(indexPath:NSIndexPath) -> String? {
        if let tableView = self.tableView {
            if let dataSource = tableView.dataSource {
                if dataSource.respondsToSelector("tableView:titleForHeaderInSection:") {
                    return dataSource.tableView!(tableView,
                                                 titleForHeaderInSection:indexPath.row)
                }
            }
        }
        return nil
    }
}

答案 1 :(得分:0)

titleForHeaderInSectionUITableViewDataSource协议的方法,由客户端类UITabelView实现。

因此,您无法在titleForHeaderInSection个实例上致电UITableView

答案 2 :(得分:0)

怎么样:

[tableView titleForHeaderInSection:indexPath.section];

答案 3 :(得分:0)

手动调用titleForHeaderInSection对我不起作用。

但是一个简单的[tableView reloadData]就可以了。

希望这有帮助