2

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

我最初的尝试没有奏效:

[tableView titleForHeaderInSection:1];

我认为这可行的原因是因为我也在使用这个:

[tableView cellForRowAtIndexPath:indexPath];

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

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

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

4

4 回答 4

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
    }
}
于 2016-01-16T07:24:45.813 回答
0

titleForHeaderInSectionUITableViewDataSource是由客户端类实现的协议方法not UITabelView

所以你不能调用titleForHeaderInSection你的UITableView实例。

于 2011-06-27T14:55:09.573 回答
0

怎么样:

[tableView titleForHeaderInSection:indexPath.section];

于 2011-06-27T14:58:33.430 回答
0

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

但一个简单[tableView reloadData]的伎俩。

希望这可以帮助

于 2012-11-26T22:21:45.647 回答