古典的なメッセージ「種類のビューをデキューできませんでした: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">
で
セルを設計した場所は?それはXibまたはストーリーボードでですか? –
ああ、良い質問です。私は、本文に答えを加えます。 –