Completion Handler

JIN·2023년 2월 17일
0
post-custom-banner

이슈 : DetectionWorker(언어감지)가 언어 감지 API를 쏘고 값을 받아와 present에게 돌려주는 과정에서 결과값이 변수에 저장되지 않는 이슈 발생

원인 : Alamofire 는 비동기 기반으로 네트워크 응답을 처리하기 때문에, 응답 메시지를 reponse 메소드의 결과값으로 반환받을 수 없기 때문. 서버에서 응답이 도착했을때 실행될 로직을 클로저 형태로 작성해, reponse 메소드에 넣어주어야 하는 것으로 파악(콜백 함수).

이슈 해결

Completion Handler 적용 : completionHandler로 반환값을 설정하고 request 결과를 담은 후 네트워크 호출이 끝나면 클로저 파라미터에 값을 담아서 interactor의 클로저로 데이터 받아오기

TranslationWorker

TranslationInteractor

profile
배우고 적용하고 개선하기
post-custom-banner

0개의 댓글