TIL - 2024.01.16 화요일

· 성취/개선/학습한 내용 🏆

 

  • Alamofire
  • HTTP
  • First Class Object
    • Function Type

 

· 어려웠던 내용 😵😵‍💫

 

  • Alamofire을 사용할 때, 가져오는 url의 json 형식을 잘 파악해야 한다. 그냥 구조체로 가져오면 될 줄 알았는데, 배열 형식으로 되어있어서 [0]을 해줘야 제대로 데이터가 나오게 된다. 이걸 파악하지 못해서 왜 계속 통신 오류가 나지라는 생각을 많이 했다. 또 alamofire을 이용해서 데이터를 가져오는데 이 데이터 통신에 시간이 걸려서 ui를 그리는 시간보다 늦게 가져오게 된다. 그러면 데이터가 반영되지 않아서 이 데이터를 언제 반영해야 하는지에도 좀 어려웠다. 
  • 아직 Function Type이 이해가 되지 않는다. 특히나 
    func callRequest(completionhandler: @escaping (Beer) -> Void) {
        
        let url = "https://api.punkapi.com/v2/beers/random"
        
        AF.request(url).responseDecodable(of: [Beer].self) { response in
            
            switch response.result {
            case .success(let success):
                print(success)
                
                completionhandler(success[0])
                
            case .failure(let failure):
                print("통신 오류")
            }
            
        }
        
        
    }

       이런 함수가 있다고 치면 왜 (Beer) -> Void일까?라는 생각이 든다. 굳이 고민해보자면 return은 하지 않지만, completionhandler         를 통해 값은 전달해 주니 저런 걸까.. 아직 헷갈린다 

· 궁금한 내용과 부족한 내용 ⁉️🤔

  • 어려운 내용에서 언급한 익명함수와 Function Type, 그리고 alamofire에 대한 추가적인 학습이 더 필요하다..

 

· 느낀점 🌟

 

 이제 좀 코딩을 하는구나 생각이 들었는데, 막히는 부분이 계속 생길수록 짜증이 나고 자신감이 사라진다. 하지만 하나하나 이런 경험이 쌓이면 나아질 거라는 마음으로 나아가야겠다...

 

 

 

'# TIL (Today I Learned)' 카테고리의 다른 글

TIL - 2024.01.18 목요일  (0) 2024.01.18
TIL - 2024.01.17 수요일  (0) 2024.01.17
TIL - 2024.01.15 월요일  (0) 2024.01.15
TIL - 2024.01.14 일요일  (1) 2024.01.14
TIL - 2024.01.12 금요일  (0) 2024.01.12