self.tableView indexPathForSelectedRow不适用于附件,为什么..?

时间:2014-04-24 14:42:23

标签: ios objective-c

基本上当我单击单元格上的附件按钮时,如果我尝试通过执行indexPathForSelectedRow来访问indexPath,则它无法正常返回 nil 。所以我研究并发现我需要在prepareForseGue:sender方法中使用indexPathForCell:sender。 so..why ..?

我发现我需要在prepareForsegue中使用此代码:发件人:使用附件

[self.tableView indexPathForCell:sender]

但是,我还没找到原因

self.tableView indexPathForSelectedRow

此代码不起作用,为什么在处理配件时会给出 nil 。?

你能解释“为什么”......?

1 个答案:

答案 0 :(得分:1)

accessory视图(在单元格的右边缘)不会select单元格。因此,当敲击附件时,所选单元将为零。 您可以看到,默认情况下选择单元格时,它会变为灰色(在iOS7上,在早期版本中为蓝色),而单击单元格上的附件视图则不会。

取决于您尝试实现的目标,您可以在点击附件按钮时强制选择单元格 - 一种方法是将按钮链接到动作而不是segue,而不是操作调用selectRowAtIndexPath:和而不是明确地调用performSegueWithIdentifier:(正如旁注 - 在代码中选择行调用委托方法didSelectRowAtIndexPath