исключение «NSInvalidArgumentException», причина: «попытка прокрутки до неверного пути индекса - PullRequest
0 голосов
/ 22 мая 2018

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

func scrollCollectionToBottom(animated: Bool){
    if self.fetchedResultsControler.sections?.count == 0 {
        return
    }
    if self.fetchedResultsControler.sections![self.fetchedResultsControler.sections!.count - 1].numberOfObjects == 0{
        return
    }
    let lastSection = self.fetchedResultsControler.sections!.count - 1
    let lastItem = self.fetchedResultsControler.sections![lastSection].numberOfObjects - 1
    let indexPath = IndexPath.init(item: lastItem, section: lastSection)
    if animated{
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, execute: {
            self.collectionViewMessages.scrollToItem(at: indexPath, at: .bottom, animated: true)
        })
        return
    }
    if group.type == GroupType.privat.rawValue{
        constrHeightCollViewSubj.constant = 0
        self.view.layoutIfNeeded()
    }
    DispatchQueue.main.async(){
        self.collectionViewMessages.reloadData()
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, execute: {
            self.collectionViewMessages.scrollToItem(at: indexPath, at: .bottom, animated: false)
        })
    }
}

Как я уже говорил, в некоторых случаях происходит сбой с этим исключением: исключение 'NSInvalidArgumentException', причина: 'попытка прокрутки до неверного пути индекса

Где моя ошибка и как ее решить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...