怎么知道uitableview是否有一个选定的单元格

时间:2011-07-21 11:09:39

标签: iphone ipad uitableview

我正在开发一个应用程序,在某些时候我有几个uitableview。 我想在委托方法之外知道,例如,如果tableviews有一个选定的单元格,那么就是一个动作。

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

你可以帮忙吗?

感谢..

1 个答案:

答案 0 :(得分:20)

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

NSIndexPath *path = [table indexPathForSelectedRow];
if (path){
   row = [path row];
   ...
}
else{
 // No cell selected
}

P.S。 nil只是一个类型0,所以在实践中它们是相同的。