CollectionView の cellForItemAt が呼ばれない 〜iOS開発〜

 

【発生したこと】

これは私自身が体験したことではなく、他の社員の方が遭遇なさったことです

CollectionView を使用していた際に

numberOfItemInSection (※1)は呼ばれるにも関わらず、cellForItemAt (※2)は呼ばれない

ということが発生したそうです。

(※1:collectionView(_, numberOfItemInSection) メソッドのこと)

(※2:collectionView(_, cellForItemAt) メソッドのこと)

 

【解決方法】

Storyboard の制約を確認して、不備があれば解消します。

(StackView の設定によっては、これに該当することがあります)

これだけのようです。

発生している事象は複雑ですが、解決方法は簡素です。

 

【今回の件についての所感】

UI周りは原因が分かりにくい不具合を生みやすい印象があります。

もしUI周りの不具合で、原因が分からない場合は、制約やViewの階層関係を疑ってみる

ということを頭の片隅に入れておいても良いかもしれません。

あとは、Storyboard で Warning 等が表示されている際は、必ず修正するべきですね…。