簡體   English   中英

從后台返回后,無法使同類視圖出隊: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM