У меня есть UITableView
и несколько UITableViewCells
, которые я создал вручную с помощью Интерфейсный разработчик . Я назначил каждой ячейке выход
и подключил их к UITableView
в методе CellForRowAtIndexPath
. В этом методе я использую метод переключателя (case)
, чтобы определенные ячейки отображались в UITableView
, в зависимости от случая.
Теперь я хочу найти конкретную ячейку и проверить, существует ли она в UITableView
. Я использую метод: UITableView.visibleCells
, чтобы получить массив ячеек в табличном представлении. Мой вопрос: как я могу проверить, существуют ли определенные ячейки в массиве? Могу ли я как-нибудь использовать назначенную мне розетку? - (Лучшее решение) ИЛИ, могу ли я использовать идентификатор и как?
Спасибо :)
if ([tableView.visibleCells containsObject:myCell])
{
// Do your thing
}
Это предполагает, что у вас есть отдельная переменная экземпляра, содержащая интересующую вас ячейку, я думаю, что вы делаете из вопроса, но это не ясно.
Вы можете использовать метод UITableView:
[tableView indexPathForCell:aCell];
Если ячейка не существует в tableView, она вернет ноль. В противном случае вы получите NSIndexPath ячейки.
Вы можете сделать это в Swift 3, чтобы проверить, виден ли UITableViewCell
:
let indexPathToVerify = IndexPath(row: 0, section: 0)
let cell = tableView.cellForRow(at: indexPathToVerify)
if tableView.visibleCells.contains(cell) {
// the cell is visible
}