UITableView heightForRowAt всегда вылетает

Я работаю над интерфейсом, чтобы сделать его так же, как дизайн, я использовал heightForRowAt сделать высоту ячейки первого раздела до 96 пикселей, и я попытался:

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        switch indexPath.section {
        case 0:
            return 96.0
        default:
            return 56.0
        }
}

но он разбился, и я искал везде, но проблема так и не была решена

поэтому я попробовал для тестирования:

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 56.0
}

но он тоже разбился.

Xcode просто дает мне Thread 1:signal SIGABRT Ошибка, и я не смог найти решение. Почему это происходит со мной?

+++ Консольное сообщение при возникновении ошибки

скриншот консольного сообщения

1 ответ

Решение

Ваша ошибка, связанная с аварийным завершением, не имеет ничего общего с упомянутыми вами высотами. В вашем методе, чтобы получить ячейку для строки по пути индекса, вы пытаетесь удалить из очереди две ячейки для того же пути индекса...

У вас должно быть что-то подобное в вашем коде...

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "ident", for: indexPath)
    let cell2 = tableView.dequeueReusableCell(withIdentifier: "ident", for: indexPath)
}

И iOS рушится, чтобы вы знали, что вы можете удалить только одну ячейку на путь индекса...

Другие вопросы по тегам