LazyLodingProblemInCollectionVIew.zip
업데이트코드 : https://github.com/hrjy6278/ios-open-market/tree/step2ScrollLodaing
왜 collectionView(cellForItemAt) 가 nil인 경우가 생기는가?

LazyLoding 활동학습 시간엔 잘 작동되던 indexPath비교 방법이 왜 이번엔 의도한 대로 작동하지 않는 것인가?
Simulator Screen Recording - iPhone 12 - 2021-08-25 at 23.54.19.mp4
: cell이 아직 view에 그려지지 않았다면 collectionView(cellForItemAt) 의 결과는 nil 이기 때문
tableView(cellForRowAt)메소드와 달리 collectionView(cellForItemAt) 는 셀이 뷰에 보이지 않아도 미리 호출됨 (+ 스크롤 하는 경우에 한정)<aside>
⭐ 1.뷰에 아직 셀이 보이지 않는데 cellForItemAt 요청이 들어감
2.하지만 이미 이미지에 대한 요청이 들어가서 이미지 데이터를 가져옴
3.등록하려고 봤는데 셀이 안 그려진 상태라서 반영을 못하고 불러온 데이터는 사라짐
⇒ 즉 셀이 화면에 그려지기 전에 collectionView(cellForItemAt) 가 미리 호출되고 있음 → 호출 후 이미지가 도착 → 셀이 화면에 없음(이 때의 인덱스패스비교하면 당연히 nil(화면에 없으니까)) → 이미지가 날라감
</aside>
🌟 예시 🌟