2017-11-01 30 views
0

私はストーリーボードにcollectionviewをロードしています。しかし、私はそれを実行すると、それは表示されませんでした。それで、デリゲートとデータソースが設定されていないことがわかった。しかし、私は、デリゲート&データソースを設定して、再度実行すると、プログラムがクラッシュが'could not dequeue a view of kind: UICollectionElementKindCell with identifier prdImgscellIdentifier - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'コレクションビューを読み込めません

を言って

これは..私はクラッシュが起こっている理由を把握することができ欠場anything..butないなかったようですprdImgscellIdentifierとしてストーリーボードでCollectionViewCellの私cellForItemAt...

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! productImagesCollectionViewCell 

    cell.myImageView.image = UIImage(named: "appLogo.jpg") 

    return cell 
} 
+0

カスタムセルまたはカスタムヘッダーを使用していますか? – Jack

+0

私はカスタムセルを使用していると思います...カスタムヘッダは何ですか? – bws

+0

[Swift - 種類のビューをデキューできませんでした:UICollectionElementKindCell with ID](https://stackoverflow.com/questions/31581903/swift-could-not-dequeue-view-of-kind-uicollectionelementkindcell- with-ident) –

答えて

0

セットセル識別子、

それとも、登録していないので、それがある場合もあり、あなたのxibからUICollectionViewへXibからUICollectionViewCellを使用している場合、まずそれを登録する必要があります。 viewDidLoadで

: それを書く:

collectionView.register(UINib(nibName: "name", bundle: nil), forCellWithReuseIdentifier: "cellIdentifier") 
+0

はい...これが完了しました... – bws

+0

セル用のカスタムクラスを作成しましたか?はいの場合は、ストーリーボード – Baig

+0

はい...でも、同じクラスをセルに割り当ててください。 – bws

0

あなたはのviewDidLoadであなたのcustomCellClassを登録する必要があるかもしれません...完全な詳細については、この前の回答を確認してください:

Swift - could not dequeue a view of kind: UICollectionElementKindCell with identifier

+0

私はストーリーボードからコレクションビューを直接表示しています。私が提案したリンクは、xibを使用している場合に便利です。 – bws

+0

そのリンクから、 'viewDidLoad()'のクラスを登録するための@ Mohsenのアドバイスを試しましたか?:collectionView.register(productImagesCollectionViewCell.self、forCellWithReuseIdentifier: "prdImgscellIdentifier") ' –

+0

しかし、私はストーリーボードから直接使用しています...だから私はペン先から登録する必要があります..? – bws

0

は、Uを持っています必要なデータソースを実装しましたか?この画像では以下のような

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section; 
0

ストーリーボード上のストーリーボードを選択し、[ユーティリティ]ウィンドウに識別子を割り当てる「セル」

enter image description here

関連する問題