Я создал приложение для обмена сообщениями на основе основных данных.В контроллере чата есть один сбой, который я не могу исправить.Я не могу найти шаблон, когда это происходит, кажется, что он появляется случайно.Это происходит следующим способом:
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', причина: 'попытка прокрутки до неверного пути индекса
Где моя ошибка и как ее решить?