Сбой таблицы просмотра по высоте для строки в indexPath - PullRequest
0 голосов
/ 23 сентября 2019

enter image description here Я реализую таблицу с двумя файлами xib.Но на некоторых устройствах происходит сбой по высоте для rowAt: function (согласно журналам сбоев). Вот мой кодcontent.

Хотя он работает нормально на всех устройствах, но вылетает на 2 из 350 устройств.

Есть идеи, почему это происходит?

Ответы [ 2 ]

0 голосов
/ 24 сентября 2019

Вы уверены, что состояние (dataSource) вашего табличного представления синхронизировано с вашими фактическими данными (не dataSource)?

Что я вижу из вашего кода, так это то, чтоВычисление высоты строки включает доступ к элементу массива.Убедитесь, что данные табличного представления полностью синхронизированы, вызвав необходимые методы для перезагрузки состояния табличного представления (например, методы beginUpdates - endUpdates и reloadData).

Кроме того, используйте assert ион в вашем cellForRowAt методе.Это полезно для целей разработки и позволяет избежать использования операторов print, которые продолжают выполнение вашего кода и могут привести к неопределенному поведению.

0 голосов
/ 23 сентября 2019

Делая это, вы можете пропустить ошибку, но проверьте, почему ячейка обнуляется.А также проверьте высотуRowAt contentHeights с этим индексом или нет

   if cell == nil {
        print(“nil cell”)
        return UITableViewCell()
    }
    return cell!
...