«NSInternalInconsistencyException», причина: «Запрошено количество строк для раздела (0), который находится за пределами». - PullRequest
0 голосов
/ 10 апреля 2020

Я получаю эту ошибку, когда пытаюсь запустить свое приложение на iOS 13, старые версии работали нормально.

'NSInternalInconsistencyException', reason: 'Requested the number of rows for section (0) which is out of bounds.'

Это то, что я предполагаю, что вызывает исключение

override func reloadData() {
    super.reloadData()

    let rows = self.numberOfRows(inSection: 0) // what I know is that this line is causing the exception
    if (rows > 0) {
        if placeholderStackView != nil {
            self.placeholderStackView.removeFromSuperview()
        }
    } else {
        setTableStatus(type: .empty)
    }

}

когда я устанавливаю переменную строку в число, которое она загружает без исключения, я предполагаю, что это вызвало обновление в UITableView SDK, я попытался найти в Google некоторые идеи, но безуспешно.

1 Ответ

3 голосов
/ 10 апреля 2020

Сначала проверьте self.numberOfSections. Если разделов нет, то в этом разделе не может быть строк (вне границ).

override func reloadData() {
    super.reloadData()

    guard 0 < self.numberOfSections && 0 < self.numberOfRows(inSection: 0) else {
        setTableStatus(type: .empty)
        return
    }

    if placeholderStackView != nil {
        self.placeholderStackView.removeFromSuperview()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...