如何手动调用UITableView的titleForHeaderInSection方法?
非常简单的问题,但我就是无法让它正常工作。当单击该部分中的单元格时,我需要能够访问该部分的字符串标题值。
我最初的尝试没有奏效:
[tableView titleForHeaderInSection:1];
我认为这会起作用的原因是因为我也在使用这个:
[tableView cellForRowAtIndexPath:indexPath];
效果很好。我正在实现委托,但仍然收到 UITableView 可能不会响应 titleForHeaderInSection 的警告。然后由于无法识别的选择器而崩溃。
我需要做的就是将单元格标题的字符串值和部分标题传递到下一个视图中。
我做错了什么?有更好的方法吗?谢谢
Pretty simple question, but I just can't get it to work right. I need to be able to access the string header value of a section when a cell within that section is clicked.
My initial attempts haven't been working:
[tableView titleForHeaderInSection:1];
The reason I thought that would work is because I am also using this:
[tableView cellForRowAtIndexPath:indexPath];
Which works fine. I'm implementing the delegate, but I still get the warning that UITableView may not respond to titleForHeaderInSection. And then it crashes because of an unrecognized selector.
All I need to do is pass the string value of the cell title, and the section title into the next view.
What am I doing wrong? Is there a better approach? Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以从
UITableViewController
和UITableView
访问titleForHeaderInSection
:您只需遵循对象链即可。从视图控制器开始的示例:
You can access
titleForHeaderInSection
fromUITableViewController
andUITableView
: you just need to follow the objects chain.Example starting at the view controller:
titleForHeaderInSection
是UITableViewDataSource
协议的方法,由客户端类而不是UITabelView
实现。因此,您无法在
UITableView
实例上调用titleForHeaderInSection
。titleForHeaderInSection
is the method ofUITableViewDataSource
protocol which is implemented by the client class notUITabelView
.So you can't call
titleForHeaderInSection
on yourUITableView
instance.怎么样:
[tableView titleForHeaderInSection:indexPath.section];
how about:
[tableView titleForHeaderInSection:indexPath.section];
手动调用
titleForHeaderInSection
对我来说不起作用。但一个简单的
[tableView reloadData]
就达到了目的。希望这有帮助
Calling manually
titleForHeaderInSection
did not work for me.But a simple
[tableView reloadData]
did the trick.Hope this helps