質問: 0 //セルにエフェクトをかける処理 //画面を閉じる処理 } } ``` ※コード内のautoCloseは自動的に画面を閉じるかどうかを判定するためのフラグです。 これだと、cell が nil になってクラッシュします。 おそらく、このタイミングでは、UIViewController に貼り付けた UICollectionView の中身まで読み込まれていないことが原因ではないかと推測しています。 ということで、UIViewController に貼り付けた UICollectionView が読み込まれたか否かを判定する方法を教えてください。 よろしくお願い致します。
回答: 自己解決しました。 UIViewController の viewDidAppear を override して、そこにコードを書くことで解決しました。 ちなみに、画面の立ち上がりと同時に、scrollToItem で画面外のセルまでスクロールさせた後にそのセルをアニメーションさせる場合は、対象のセルがまだ表示されていないので上記方法だと nil が出てクラッシュします。 ですので、「画面表示→対象セルまでスクロール→対象セルをアニメーション」という挙動を実現したい場合は、UIViewController に UIScrollViewDelegate を設定し、scrollViewDidEndScrollingAnimation の中にアニメーションを書いてやることで上手くいきました。