UITableView - 选择了哪一行?

Ily*_*ski 45 iphone objective-c

我有一个问题 - 如何在表格中选择多行?我将它手动分配给变量.问题是如果取消选择一行,我的变量仍保留旧值.

我能做些什么呢?UITableView中是否有一个方法返回一些当前选定的行?

谢谢你,伊利亚.

Jar*_*die 109

如果您尚未实现委托(请参阅nduplessis),UITableView还提供:

- (NSIndexPath *)indexPathForSelectedRow
Run Code Online (Sandbox Code Playgroud)

  • 对于任何寻找多选版本的人来说,它是` - (NSArray*)indexPathsForSelectedRows` (10认同)
  • 如果用户没有选择任何内容,它实际上返回nil(Apple的文档:`标识所选行的行和节索引的索引路径,如果索引路径无效,则为nil.).请记住,允许向nil发送消息,在这种情况下,[myNilIndexPath row]返回0,因为myNilIndexPath为nil.检查从indexPathForSelectRow返回的对象不是nil应该可以解决问题. (4认同)

ndu*_*sis 36

UITableViewDelegate将调用

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)

选择行时 通过这个,您可以使用indexPath.section和indexPath.row轻松确定行