2016-11-22 3 views
-1

В том же состоянии iOS9 является хорошим, но не может получить indexPath для ячейки в iOS10.UITableView indexPathForCell: return nil в iOS10 с Xcode8 (Swift2.3)

self.tableView.indexPathForCell (клетка): nil

Теперь, я обнаружил, что клетка не в visibleCells в iOS10. Это проблема.

+0

'indexPathForCell' возвращает необязательный объект' (NS) IndexPath? ', Поэтому возможно, что он будет' nil', покажет код, в котором вы вызываете этот метод. –

+0

в iOS9 с тем же условием, после чего возвращается указательный путь, но в iOS10 нет значения. –

ответ

1

В iOS10, cellForRowAtIndexPath вызывается в ближайшее время. Итак, тогда indexPathForCell - nil, потому что ячейка НЕ ​​видна.

Решение, которое я нашел, это.

if #available(iOS 10, *) { 
    indexPath = self.tableView?.indexPathForRowAtPoint(cell.center) 
} 
Смежные вопросы