개발하고 있는 어플리케이션의 마이페이지 화면에서 사용자가 등록해 놓은 프로필 사진을 띄워줘야 하는데 이때 나는 서버에게서 대충 아래와 같은 형태로 회원 정보를 전달받게 된다.
{
"status": 200,
"message": "회원 정보 가져오기 성공",
"data": {
"name": "test",
"profile": {
"profileId": 56,
"imageUrl": "https://어쩌구저쩌구bucket.s3.ap-northeast-2.amazonaws.com/images/어쩌구저쩌구.jpg"
}
}
}
서버에게 받은 imagUrl을 이용하여 UIImageView에 회원이 등록해 놓은 사진을 띄워보자!
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()
}
}
if let imageUrl = URL(string: 서버가 넘겨주는 url) {
self.userProfile.loadImage(from: imageUrl)
}