오늘의 결과 화면입니다.
url로부터 다운로드한 이미지를 imageView에 할당하는 방법은 이전 글에서 설명했습니다.
하지만 이 방법은 다운로드 속도가 매우 느립니다.
Image View의 확장을 통해서 이미지 다운로드 속도를 개선해보겠습니다.
[Step 1] UIImageView 파일 생성하기
[Step 2] Image View 확장하기
코드
extension UIImageView {
func downloadImage(url: URL) {
DispatchQueue.global().async {
if let data = try? Data(contentsOf: url) {
if let image = UIImage(data: data) {
DispatchQueue.main.async {
self.image = image
}
}
}
}
}
}
[Step 3] 확장한 코드 적용하기
// url 변수의 타입은 URL입니다.
imageView.downloadImage(url: url)
// 예시
homeTeamImageView.downloadImage(url: leagueScheduleTableViewCellModel.homeTeamImageUrl)
이 방법이 속도가 더 빠른 이유는 멀티스레드 환경에서의 각각의 이미지를 병렬로 다운로드했기 때문입니다.
이 부분은 차후에 다시 정리하겠습니다.
※ 참고 출처
[Swift iOS] url 이용하여 image 받아오기
url로 이미지 불러오는 일이 이렇게 복잡한 지 처음 알았다... 그냥 대충 setImage에 url 인자 넣으면 되는 줄 알았더니 생각보다 아주 까다롭구만.. 다음과 같이 UIImageView에 extension으로 url로 이미지
hongssup.tistory.com
'Code Base > Image Download' 카테고리의 다른 글
[iOS] url로 부터 이미지 다운로드하기 (0) | 2022.02.04 |
---|