비동기 로드로 인해 흔히 겪을 수 있는 문제죠~
방법은 두 가지가 있는데,
- 이미지 로딩이 완료된 시점에 이 이미지가 위치해야 하는 cell을 index를 통해 불러와서 이미지를 세팅해줍니다. 만약 인덱스에 해당하는 셀이 화면 밖이라면 cell이 nil로 반환되기 때문에 이미지를 세팅할 수 없을거예요.
- 이미지 로딩이 완료된 시점에 이 셀이 내가 이미지 로딩을 요청할 때의 인덱스와 같은 위치인지 확인해야 합니다. 현재 이 셀이 내가 처음 이미지를 요청한 때의 인덱스와 다르다면 재사용되어 다른 인덱스에 나타난 상태라는 뜻이기 때문에 이미지를 세팅해주면 안됩니다.
어찌보면 두개가 비슷해보여도 미묘한 차이가 생깁니다. 저는 1번을 추천합니다.
더 많은 내용을 찾고싶다면 아마 Async table view cell image loading 정도로 검색하면 관련 내용이 나올 것 같아요