맥주 추천 앱 만들기
https://punkapi.com/documentation/v2
page=5 & per_page = 80으로 했을때가 마지막 페이지인 것을 알 수 있었다.
따라서 마지막 맥주의 id는 325 라는 것을 알 수 있었다.
let url = "https://api.punkapi.com/v2/beers/\(number)"
버튼 클릭시마다 숫자를 랜덤으로 생성해서 url 마지막 number에 넣어줄 수 있었다.
@IBAction func buttonClicked(_ sender: UIButton) {
requestBeer(number: Int.random(in: 1...325))
}
오늘 알게된 것:
1. json 페이지가 어떤 형태로 되어있는가를 잘 살펴야 함.
아래처럼 배열 안에 여러개가 놓인 경우, 배열에서 하나를 가져오는 형태로 원하는 name, image_url, description 등을 추출해야 함.
원래 SwiftyJSON github page에서 제공하는 소스는 다음과 같다.
let json = JSON(value)
print("JSON: \(json)")
위에처럼 가져오면 안되고, 배열이기 때문에 아래처럼 가져왔어야 했다.
print("JSONArray: \(json.array![0]["name"].stringValue)")
json.array![0]은 위의 페이지에서 [ ] 를 제거하고 알멩이를 가져오게 되고,
여기에 json.array![0]["name"] 까지 붙여주면 name요소를 가져오는 것.
2. json 형태의 imageURL을 가져올 때 아래와 같이 해야 했다.
*image가 한번 hidden되면 쭉 hidden 되기 때문에 if, else 로 나누어 토글처럼 구현해야 했음.
'iOS > iOS SeSAC 2기 TIL' 카테고리의 다른 글
iOS swift 로또 당첨번호 앱 관련 - 최신 회차 정보 불러오기 (0) | 2022.08.02 |
---|---|
iOS swift boxoffice for-in 구문 응용(json + 배열) (0) | 2022.08.02 |
로또 당첨번호 앱 만들기 [딕셔너리, for-in 구문 이용] (0) | 2022.08.01 |
Xcode 보조창이 비활성화 되어 있는 경우 (0) | 2022.07.27 |
TableViewController identifier 위치 (0) | 2022.07.27 |