2017-06-20 5 views
1

古典的なメッセージ「種類のビューをデキューできませんでした:UICollectionElementKindCellと識別子ソング」を取得しました。なぜか分からない。キャッチされない例外により「NSInternalInconsistencyException」にアプリを終了さらに「種類のビューをデキューできませんでした:UICollectionElementKindCellと識別子ソング」

***、その理由は:「種類のビューをデキューできませんでした:UICollectionElementKindCellを識別子歌で - 識別子のためのペン先やクラスを登録したり、プロトタイプのセルを接続する必要がありますストーリーボード「に

マイセルはカスタムクラスで、ここではコードです:

class HACollectionViewCell: UICollectionViewCell { 
    @IBOutlet var title: UILabel! 
    @IBOutlet var band_album: UILabel! 
    @IBOutlet var length: UILabel! 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder:aDecoder) 
     NSLog("I made a new cell!!") 
     //You Code here 
    } 
} 

コンセントが接続されている(つまり、右物事が点灯したときの指標を超えるIマウス)。セルレイアウトは、Main.storyboardのUICollectionViewオブジェクトの子として配置されます。

同様に、セルオブジェクト自体には、カスタムクラスのクラスがHACollectionViewCellに設定されています。また、UICollectionViewはFirst View Controllerファイルのコンセントに接続されています。

それが失敗した機能:私は私の再利用識別子は何のスペースを持っていないことを確認するチェックした

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "song", for: indexPath) as! HACollectionViewCell 
    let song = song_list[indexPath.row] 
    cell.title.text = song.title 
    cell.band_album.text = (song.artist ?? "unknown artist") + (song.albumTitle ?? "unknown album title") 
    cell.length.text = String(song.playbackDuration) 
     return cell 
} 

。それはちょうど "曲"です。 "Main.storyboard" から:

<collectionReusableView key="sectionFooterView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="song" id="HEQ-RD-L8g" userLabel="Song Cell" customClass="HACollectionViewCell" customModule="Hamper" customModuleProvider="target"> 

ところで、私はXcodeの8.3.3やMacOS 10.12.5上のXcode 9(ベータ版)を使用しています。どちらのプログラムでも同じエラーです。目標はiOS 10.3.2を実行しているiPhone 5です。

<collectionReusableView key="sectionFooterView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="song" id="HEQ-RD-L8g" userLabel="Song Cell" customClass="HACollectionViewCell" customModule="Hamper" customModuleProvider="target">

+0

セルを設計した場所は?それはXibまたはストーリーボードでですか? –

+0

ああ、良い質問です。私は、本文に答えを加えます。 –

答えて

1

は、なぜそれがcollectionReusableViewを示していますか?私はあなたがCollection Reusable View代わりのCollection View Cellを使用していたと思います

<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="song" id="HEQ-RD-L8g" userLabel="Song Cell" customClass="HACollectionViewCell" customModule="Hamper" customModuleProvider="target">

:それはcollectionViewCell何かのようにする必要があります。

+1

HEY HEY、ありがとう、鷲の目!それだった! –

関連する問題