라이브러리 (Library)
라이브러리 추가 방법
1. cocoaPod : 중앙화된 저장소로 운영하는 방식
2. Carthage : 분산된 저장소를 지원하는 방식
3. Swift Package Manager : 별도의 프로그램 없이 Swift 에서 가장 쉽게 적용할 수 있는 방식
Swift Package Manager 사용하기
File → Swift Packages → Add Package Dependencies... → URL 입력
import 패키지명 작성
라이브러리 사용한 경우
import Alamofire
...
AF.request("https://api.thecatapi.com/v1/images/search").responseString { (resp) in
print(resp.value ?? "")
}
라이브러리 사용하지 않은 경우
...
var request = URLRequest(url: URL(string: "https://api.thecatapi.com/v1/images/search")!)
var task = URLSession(configuration: .dafault).dataTask(with: request) { (data, response, error) in
DispatchQueue.main.async {
print(String(data: data!, encoding: .utf8) ?? "")
}
}
task.resume()
API : 클라이언트가 서버에 데이터를 요청할 때 미리 정해져있는 방법 (서버 주고, 요청 방식, 응답 방식 등의 규칙 정의)
Almofire & SwiftyJSON
Info.plist -> App Transport Security Settings 추가 -> Allow Arbitrary Loads 를 추가 후 YES로 선택
AF.request("http://spartacodingclub.shop/review").responseJSON { (response) in
var json = JSON(response.value!)
print(json["reviews"][0])
}
var parameters = [
"title_give": "Swift 기초 다지기",
"author_give": "이다영",
"review_give": "재밌어요~~"
]
AF.request("http://spartacodingclub.shop/review", method: .post, parameters: parameters).responseJSON { (response) in
var json = JSON(response.value!)
print(json)
}
UICollectionView : 한 줄에 여러 칸이 들어가는 뷰