Image - 고양이 이미지 로드
Button - 새로고침 버튼
Info.plist 파일에 App Transport Security Settings를 추가하고 Allow Arbitrary Loads를 YES로 선택 후 추가
애플은 iOS 9부터 무분별한 http 통신 사용을 지양하고, https 통신을 유도하기 위해 기본값으로 앱에서 http 통신을 막아두었다.
따라서 http 통신을 사용하는 API는 보안 설정이 필요하다.
API에 데이터 요청(GET) 후 이미지 URL 추출 및 로드
func setImage() {
AF.request("https://api.thecatapi.com/v1/images/search").responseJSON {
if let json = $0.value {
let data = JSON(json)
let image = data.arrayValue[0]["url"]
self.catImage.sd_setImage(with: URL(string: image.stringValue), completed: nil)
}
}
}
API 통신 및 URL을 이미지로 가져오는 것 모두 라이브러리를 사용해서 구현했다.
라이브러리를 잘 사용하지 않았고, 또 사용하더라도 cocoaPod만 사용해 라이브러리를 추가했기에 다른 방식들은 잘 몰랐었다.
수업을 통해서 세 가지의 라이브러리를 추가하는 방식을 알게된 것과 그 중 한 가지를 사용할 수 있어서 좋았다.
하지만 라이브러리를 사용해서 구현하는 방식과 사용하지 않고 구현하는 방식 두 가지 모두를 학습할 수 있었으면 더 좋았을 것 같다는 아쉬움도 들었다.