서버에서 이미지를 다운로드하고 컬렉션보기 (그리드 3 * n)를 채울 때. 나는 결함이있다.iOS - 스크롤 할 때 Collectionview 이미지가 사라지고 가끔씩 겹칩니다.
셀을 다시 사용하기 전에 이미지보기를 nil로 만들고 GCD를 사용하여 주 스레드에서 이미지보기를 업데이트하는 등 가능한 모든 작업을 시도했습니다.
하지만 여전히 결함에 직면하고 있습니다.
글리치는 컬렉션보기를 스크롤 할 때 다운로드 한 이미지가 겹쳐져 있고 컬렉션보기 셀에서 사라지는 경우가 있습니다.
이미지가 사라지는 원인 (한 번 다운로드 한 이미지)을 알 수 없습니다.
제안 사항.
private func cellForDropbox(cell:GridCell,indexPath:IndexPath) -> GridCell {
let filename = self.filenames[(indexPath as NSIndexPath).row]
cell.imageView.backgroundColor = UIColor.lightGray
cell.imageView.image = nil
DropboxClientsManager.authorizedClient?.files.getTemporaryLink(path: filename).response(completionHandler: { (response, error) in
if let url = response {
cell.imageView.sd_setImage(with: URL(string:url.link), placeholderImage: nil, options: .refreshCached, completed: { (img, error, cacheType, url) in
})
} else {
print("Error downloading file from Dropbox: \(error!)")
}
})
return cell
}
왜 이미지를 캐시에 저장 했습니까? 이미 SDwebImage를 사용하고 있다면. – KKRocks
@KKRocks : 죄송합니다. 지금은 제거하고 있습니다. – user3804063