【问题标题】:UITableView indexPathForCell: return nil in iOS10 with Xcode8 (Swift2.3)UITableView indexPathForCell:在iOS10中使用Xcode8(Swift2.3)返回nil
【发布时间】: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中没有返回值。

标签: ios swift xcode8 ios10 swift2.3


【解决方案1】:

在 iOS10 中,cellForRowAtIndexPath 被提前调用。 那么,indexPathForCellnil,因为单元格不可见。

我找到的解决方案是这样的。

if #available(iOS 10, *) {
    indexPath = self.tableView?.indexPathForRowAtPoint(cell.center)
}

【讨论】:

    猜你喜欢
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    相关资源
    最近更新 更多