如何知道 uitableview 是不是有选定的单元格

Posted

技术标签:

【中文标题】如何知道 uitableview 是不是有选定的单元格【英文标题】:how know if uitableview has a selected cell如何知道 uitableview 是否有选定的单元格 【发布时间】:2011-07-21 11:09:38 【问题描述】:

我正在开发一个应用程序,并且在某些时候我有几个 uitableview。 我想知道委托方法之外的一个动作,例如,表格视图是否有一个选定的单元格以及哪个单元格。

我尝试使用:(NSIndexPath *)indexPathForSelectedRow,但它不起作用,因为如果我没有选定的单元格,[(NSIndexPath *) row] 返回“0”而不是 nil

你能帮忙吗?

谢谢..

【问题讨论】:

您可以将所选行的索引保存在 ivar 中。 是的,这是一个想法。我已经有一个存储所选单元格的 NSMUtablearray。由于我无法替换 NSMUtablearray 中的 nil 对象,因此无法将“i”索引初始化为 nil。所以问题是要知道一个确定的表格视图是否有一个选定的单元格。让自己清楚?谢谢 【参考方案1】:

您的方法是正确的 - 如果未选择任何单元格,则 indexPathForSelectedRow 确实返回 nil。但是,如果您尝试向 nil 对象发送消息并使用返回的值,它将为 0,因此您需要在尝试从中获取单元格的行之前测试路径值是否为 nil:

NSIndexPath *path = [table indexPathForSelectedRow];
if (path)
   row = [path row];
   ...

else
 // No cell selected

附: nil 只是一个类型转换的 0,因此在实践中它们是相同的。

【讨论】:

以上是关于如何知道 uitableview 是不是有选定的单元格的主要内容,如果未能解决你的问题,请参考以下文章

如何从 UITableView 中删除选定的行? [复制]

如何获得选定的单选按钮telerik?

单击提交后如何获取选定的单选按钮以显示特定的隐藏 div?

如何根据选定的单选按钮值传递单选按钮值?

如何使用js获取选定的单选按钮值

如何使用js获取选定的单选按钮值