Assertion failure in -[UICollectionViewData validateLayoutInRect:]

809 ワード

うっかり踏んだ穴を記録します.
2016-10-27 16:12:01.553202 xx[20375:5807576] *** Assertion failurein -[UICollectionViewData validateLayoutInRect:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3599.6.1/UICollectionViewData.m:433
2016-10-27 16:12:01.614351 xx[20375:5807576] invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution.
libc++abi.dylib: terminate_handler unexpectedly threw an exception

私はUIcollectionView、removeAllを使ってからreloadDataを使って、それからこの間違いを報告して、Googleはちょっと多くの方法を発見して、大部分は2つのUIcollectionViewが同じCustomLayoutを使ったためです.こちらはUIcollectionViewLayoutで滝の流れを実現して、それからreloadDataの時にitemAttributesをクリアするのを忘れました:[UIcollectionViewLayoutAttributes]