테이블 뷰에서 이미지 뷰 문제에 대해 질문이 있습니다

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 5anniversary
      참가자
      • 글작성 : 14
      • 답글작성 : 7

      현재 kingfisher를 사용해 이미지를 보여주는 중이고, 테이블 뷰의 스크롤을 빠르게 할 경우 이미지가 해당하는 위치에 존재하지 못하는 경우가 있습니다. 이런 경우에 어떻게 접근 해야할까요??

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 579

      비동기 로드로 인해 흔히 겪을 수 있는 문제죠~
      방법은 두 가지가 있는데,

      1. 이미지 로딩이 완료된 시점에 이 이미지가 위치해야 하는 cell을 index를 통해 불러와서 이미지를 세팅해줍니다. 만약 인덱스에 해당하는 셀이 화면 밖이라면 cell이 nil로 반환되기 때문에 이미지를 세팅할 수 없을거예요.
      2. 이미지 로딩이 완료된 시점에 이 셀이 내가 이미지 로딩을 요청할 때의 인덱스와 같은 위치인지 확인해야 합니다. 현재 이 셀이 내가 처음 이미지를 요청한 때의 인덱스와 다르다면 재사용되어 다른 인덱스에 나타난 상태라는 뜻이기 때문에 이미지를 세팅해주면 안됩니다.

      어찌보면 두개가 비슷해보여도 미묘한 차이가 생깁니다. 저는 1번을 추천합니다.
      더 많은 내용을 찾고싶다면 아마 Async table view cell image loading 정도로 검색하면 관련 내용이 나올 것 같아요

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom