ViewController我的應用程式中有一個可以實時獲取評論。當獲取新評論時,我滾動到垂直CollectionView. 問題是我的Crashlytics節目在scrollToItem通話中多次崩潰,我無法自己重新創建它。
我不明白怎么會崩潰,因為我已經考慮了所有可能的值。我問CollectionView它有多少專案,如果至少有一個,滾動到最后一個。
這是我的代碼:
fileprivate func handleFetchedCommentsResponse() {
DispatchQueue.main.async {
self.chatCollectionView.reloadData()
}
// -------------------------------------------
let numberOfItems = chatCollectionView.numberOfItems(inSection: 0)
if numberOfItems > 0 {
DispatchQueue.main.async {
self.chatCollectionView.scrollToItem(at: IndexPath(row: numberOfItems, section: 0), at: .bottom, animated: false)
}
}
}
這是崩潰日志:
致命例外:NSInternalInconsistencyException 當第 0 節中只有 20 個專案時,嘗試將集合視圖滾動到越界專案 (20)。集合視圖:<UICollectionView: 0x10b06f400; 框架 = (12 480.667; 396 355.333); clipsToBounds = YES; 自動調整大小 = RM BM; 手勢識別器 = <NSArray: 0x281d426d0>; layer = <CALayer: 0x280afe280>; 內容偏移量:{0, 568.33333333333337};內容大小:{396, 876};調整內容插入:{0, 0, 0, 0}; 布局:<UICollectionViewFlowLayout:0x107b3bab0>;資料源:<NUP.VoiceRoomViewController:0x10b019800>>。
PS:我的CollectionView只有一節
uj5u.com熱心網友回復:
如果您的集合視圖有 20 個專案,它們將位于第 0 行到第 19 行。嘗試滾動到與計數匹配的行將超過視圖內容的末尾。
(如果您無法重現該問題,我猜您正在使用不會導致實際滾動發生的值進行測驗。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/384085.html
