[iOS/Swift] 서버에서 전송받은 S3 url 이용하여 UIImageView에 띄우기

Nakyung Lee·2023년 8월 12일
0

iOS

목록 보기
8/14

개발하고 있는 어플리케이션의 마이페이지 화면에서 사용자가 등록해 놓은 프로필 사진을 띄워줘야 하는데 이때 나는 서버에게서 대충 아래와 같은 형태로 회원 정보를 전달받게 된다.

{
    "status": 200,
    "message": "회원 정보 가져오기 성공",
    "data": {
        "name": "test",
        "profile": {
            "profileId": 56,
            "imageUrl": "https://어쩌구저쩌구bucket.s3.ap-northeast-2.amazonaws.com/images/어쩌구저쩌구.jpg"
        }
    }
}

서버에게 받은 imagUrl을 이용하여 UIImageView에 회원이 등록해 놓은 사진을 띄워보자!

1️⃣ UIImageView extension 작성해 주기

extension UIImageView {
    func loadImage(from url: URL) {
        URLSession.shared.dataTask(with: url) { data, response, error in
            guard
                let data = data,
                let image = UIImage(data: data)
            else {
                print("Failed to load image from \(url): \(String(describing: error))")
                return
            }
            
            DispatchQueue.main.async {
                self.image = image
            }
        }.resume()
    }
}

2️⃣ UIImageView에 적용해 주기

if let imageUrl = URL(string: 서버가 넘겨주는 url) {
	self.userProfile.loadImage(from: imageUrl)
}

✨ 결과물

profile
앱 개발자를 꿈꾸는 ✨

0개의 댓글