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