반응형
iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다.
UIImageView에 image를 넣으려면 아래와 같이하면 이미지를 넣을 수 있다.
imageView.image = UIImage(named: "이미지이름")
인터넷에서 있는 url 주소로도 imageView에 이미지를 넣을 수 있는데,
Data를 초기화할 때, url 주소를 입력하여 url에 있는 이미지를 data 형식으로 불러온 후
UIImage를 받은 data를 통해 만들고 난 후에 imageView에 이미지를 넣는 방식이다.
DispatchQueue.global().async { [weak self] in
if let data = try? Data(contentsOf: url) {
if let image = UIImage(data: data) {
DispatchQueue.main.async {
imageView.image = image
}
}
}
}
Extension을 통해 재활용과 간단한 코드로 구현이 가능하다.
Extension
import UIKit
extension UIImageView {
func load(url: URL) {
DispatchQueue.global().async { [weak self] in
if let data = try? Data(contentsOf: url) {
if let image = UIImage(data: data) {
DispatchQueue.main.async {
self?.image = image
}
}
}
}
}
}
사용방법
imageView.load(url: URL(string: url)!)
반응형
'iOS > 코드조각' 카테고리의 다른 글
[iOS, Swift] hugging priorty 및 CompressionResistancePriority 수정(programmatic) (0) | 2023.03.03 |
---|---|
[iOS, Swift] TableView의 특정 셀 가져오기(indexPath) (0) | 2023.03.01 |
[iOS, Swift] 이미지 파일 업로드하기 (alamofire, multipart-data) (0) | 2023.02.27 |
[iOS, Swift] UIMenu 기본적인 예제 (0) | 2023.02.26 |
[iOS, Swift] 라디오버튼 구현하기 (0) | 2023.02.25 |