在viewDidLoad
我這樣註冊細胞:UICollectionView.dequeueReusableCell崩潰
let cellIdentifier = "Cell"
override func viewDidLoad() {
super.viewDidLoad()
let cellNib = UINib(nibName: "ViewCell", bundle: nil)
collection.register(cellNib, forCellWithReuseIdentifier: cellIdentifier)
}
,並在UICollectionViewDataSource
的cellForItemAt
我做的:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
// It crashes while trying to dequeue with the Error message: Assertion failure in -[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:viewCategory:]
let dequedCell = collection.dequeueReusableCell(withReuseIdentifier: cellIdentifier, for: indexPath)
return dequedCell
}
的onlystrange事情可能是代碼混合斯威夫特/ ObjC,並且ViewCell
是ObjC並且被導入到橋接頭中:
#import "ViewCell.h"
我收到以下錯誤:
*** Assertion failure in -[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:viewCategory:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3600.7.47/UICollectionView.m:5106
我確信所有名稱是正確的。有誰知道爲什麼這個崩潰正在發生?
您能添加確切的錯誤日誌嗎? –
在[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:viewCategory:],/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3600.7.47/UICollectionView中發生'***聲明失敗的確切錯誤。 m:5106' – Daniel
您確定拼寫正確的筆尖名稱嗎?再次檢查。我有一種情況,其中文件名字符串包含一些不可見的字符。 –