기존에는 AlamofireImage를 이용해서 주로 웹 이미지를 따왔습니다만, 쓰다보니 캐시처리를 할 필요가 있더라구요. Kingfisher은 Alamofire 대비 기본 캐싱을 제공하는 것 같습니다.
캐시 처리를 하지 않을 경우, 여러 이미지 셋을 불러올 때 뷰가 버벅거리게 됩니다. AlamofireImage는 캐시처리가 다소 어렵고 불편하게 되어 있는 반면, KingFisher은 자체 내장하고 있어 사용이 매우 편리합니다.
Kingfisher
- import Kingfisher
1imgProfile.kf.setImage(with: url!)cs
기본 이미지뷰에 위와 같이 바로 처리가 가능합니다. 다만, AlamofireImage처럼 response에 따른 처리까지 가능한지는 아직 모르겠습니다. 분명 방법은 있을 것으로 보입니다.
AlamofireImage
- import AlamofireImage
12345678910111213Alamofire.request(url!).responseImage { response inif response.data == nil {Alamofire.request("basic_image_URL").responseImage { response inimgView.image = UIImage(data: response.data!, scale:1)}} else {imgView.image = UIImage(data: response.data!, scale:1)}}cs
AlamofireImage는 response에 따라 위와 같이 처리를 할 수 있습니다만, 기본 캐싱이 되지 않아 별도의 캐시처리가 필요합니다. 경우에 따라서는 alamofire가 좋을 수도 있고, 또 때로는 kingfisher가 좋을 수도 있겠네요.
사실 이 두 라이브러리는 단순히 이미지 주소로부터 이미지를 다운받는 것 뿐만 아니라 이미지 처리에 있어서도 탁월한 기능을 자랑합니다만, 제가 이 부분은 쓸 일이 아직까진 없어서 이만 줄이도록 하겠습니다.
'Developer > iOS, Swift' 카테고리의 다른 글
[Swift] UIActivityIndicator 예제 (로딩중 표시 띄우기) (0) | 2020.02.25 |
---|---|
[Swift] 갤러리에 저장된 이미지 파일, 서버에 POST하기 (1) | 2020.02.24 |
[Swift] Realm 기본 사용 방법 및 예제 (1) | 2020.01.09 |
[Swift] 캘린더 라이브러리, FSCalendar 사용법 및 예제 (2) | 2020.01.07 |
[Swift] View 둥근 모서리 만들기 (RoundView) (0) | 2019.12.16 |
댓글