UITableView indexPathForCell:在iOS10中使用Xcode8(Swift2.3)返回nil
Posted
技术标签:
【中文标题】UITableView indexPathForCell:在iOS10中使用Xcode8(Swift2.3)返回nil【英文标题】:UITableView indexPathForCell: return nil in iOS10 with Xcode8 (Swift2.3) 【发布时间】:2016-11-22 05:40:04 【问题描述】:同样情况下,ios9 是 Good,但在 iOS10 中无法获取 cell 的 indexPath。
self.tableView.indexPathForCell(cell):
nil
现在,我发现该单元格不在 iOS10 中的 visibleCells 中。 这就是问题所在。
【问题讨论】:
indexPathForCell
return optional (NS)IndexPath?
object 所以它可能会nil
,显示你调用这个方法的代码。
在iOS9中条件相同,然后返回索引路径,但在iOS10中没有返回值。
【参考方案1】:
在 iOS10 中,cellForRowAtIndexPath
被提前调用。
那么,indexPathForCell
是 nil
,因为单元格不可见。
我找到的解决方案是这样的。
if #available(iOS 10, *)
indexPath = self.tableView?.indexPathForRowAtPoint(cell.center)
【讨论】:
以上是关于UITableView indexPathForCell:在iOS10中使用Xcode8(Swift2.3)返回nil的主要内容,如果未能解决你的问题,请参考以下文章
UItableview 单元格的动态高度与 UItableview 单元格内的 UItableview
水平 UITableView 中的垂直 UITableView
如何与重叠显示的 UITableView 交互另一个 UITableView