![](/img/trans.png)
[英]Could not dequeue a view of kind: UICollectionElementKindCell
[英]Could not dequeue a view of kind: UICollectionElementKindCell after going back from background
我正在Swift3中構建一個Keyboard擴展。
第一次啟動鍵盤時,沒問題,我的收藏夾視圖顯示得很好,一切正常。
當我的鍵盤轉到后台並再次返回到前台時,會發生此錯誤。 例如,我啟動iMessage,顯示鍵盤,點擊iPhone的“主頁按鈕”,再次啟動iMessage->崩潰:
由於未捕獲的異常“ NSInternalInconsistencyException”而終止應用程序,原因:“無法使種類的視圖出列:具有標識符KeyboardViewCell的UICollectionElementKindCell-必須為該標識符注冊一個筆尖或一個類,或者在情節提要中連接原型單元格”
這是我為單元格標識符設置情節提要的方法:
使用正確的課程:
這是我從cellForItemAt indexPath
方法調用它的方式:
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! KeyboardViewCell
return cell
我不明白為什么更換鍵盤后會發生崩潰,例如在這種情況下沒有加載故事板之類的東西……我忘記了什么嗎?
我的故事板是這樣的:
您的KeyboardViewController
擁有兩個UICollectionView
。 當使cellForItemAt indexPath中的KeyboardViewCell
出隊時,確保MyCollectionView
正在調用其dataSource
:
if collectionView === myCollectionView {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! KeyboardViewCell
return cell
} else {
//dequeue soundCollectionViewCell
}
如果您為多個“委托人”(即,多個ColletionView)遵循同一協議,則必須在每個回調方法中實施此檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.