У меня проблема с ячейкой UITableView: «не удалось удалить из очереди ячейку с идентификатором textCell», что, как я знаю, является распространенной ошибкой, и я прочитал несколько записей здесь.Странно то, что это работает, когда я впервые рисую стол.Это не сбой, пока пользователь не коснется панели поиска.Я проверил данные, когда ячейка снимается с очереди, и различные переменные заполняются, поэтому данные есть.
Я использую раскадровки, поэтому мне не нужно регистрировать ячейку, что является одним из распространенных ответов, которые я видел.Опять же, это подтверждается тем фактом, что ячейка сначала рисуется правильно.Первоначально я использовал dequeueReusableCell (withIdentifier :), но я также пытался dequeueReusableCell (withIdentifier: for :), но безрезультатно.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let ident = idList[indexPath.row]
var entryText = db.getText(ident)
let entryDate = db.getDateTimeLong(ident)
let comments = db.getComments(ident)
...
guard let cell = tableView.dequeueReusableCell(withIdentifier: "textCell", for: indexPath) as? TextTableViewCell else {
fatalError("NO SUCH CELL")
}
cell.dateLabel.text = entryDate
cell.textView.text = entryText
return cell
}
func updateSearchResults(for searchController: UISearchController) {
idList = db.textSearch(searchController.searchBar.text ?? "")
tableView.reloadData()
}
Есть идеи, где я ошибаюсь?