1
我有一些代碼,當你點擊相關的UICollectionViewCell
時,會提高分數。代碼如下:reloadItemsAtIndexPath swift錯誤?
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
teamScores[indexPath.row] += 1
collectionView.reloadItemsAtIndexPaths([indexPath])
}
這最初工作正常,但是當我返回到主屏幕,並返回到應用程序再次,應用程序會出現凍結,如果我嘗試再次單擊該單元格。仔細觀察,似乎是在某種循環中,CPU以100%的速度運行,並且所需的內存每秒都在增加。
請注意,如果不是點擊某個單元格,而是執行另一個操作,就我所知,沒有問題。唯一的例外是一個復位按鈕,它運行的代碼:
@IBAction func resetScores(sender: AnyObject) {
resetScores()
collectionView.reloadSections(NSIndexSet(index: 0))
}
這「崩潰」只與應用程序被激活再次發生 - 當你切換到另一個選項卡,再回來就不會發生。
如果我將reloadItemsAtIndexPaths(...)
代碼替換爲reloadData()
,問題就會消失。這是一個錯誤,還是我錯過了什麼?
非常感謝提前!
這沒有遺憾的工作:( – Ben
你能否將這個方法添加到類(見原職的編輯) – Emptyless
沒有運氣,要麼! – Ben