인프런 커뮤니티 질문&답변
비동기 함수 만드는 법에 대해서 질문드립니다!
작성
·
182
1
안녕하세요. 강의 잘 듣고 있습니다.
질문이 하나 있어서요!
func asyncTiltShift(_ inputImage: UIImage?, runQueue: DispatchQueue, completionQueue: DispatchQueue, completion: @escaping (UIImage?, Error?) -> ())
runQueue와 completionQueue의 type이 DispathQueue로만 되어있던데, .체이닝으로 보니 main과 global은 안나오더라구요.
이 부분을 이해하려면, asyncTiltShift 메서드에 인자 DispatchQueue만 있다는 것은 DispatchQueue가 main과 global을 사용할 수 있어서 라고 이해하면 될까요?
수업에 나와있지않은 부분이라 실례를 무릎쓰고 여쭤봅니다^^;;
답변 1
2
앨런(Allen)
지식공유자
아 네 안녕하세요!
DrStyle 님!
함수를 만들때는 타입을 쓰는 것이고, 함수를 실행할때는 실제 값을 줘야하는 것이라서 그렇습니다.
제가 위에 예시를 만들어서 붙였는데.. 아마 위에 이미지를 보시면 바로 이해하시지 않을까 하는데...
DispatchQueue는 타입이고,
DispatchQueue.main 또는 DispatchQueue.global( ) 이것은 인스턴스이니까..
함수를 정의할때는 타입으로.. 실제 실행할때는 인스턴스 값을 줘서 실행하는... 이런 것으로 이해하시면 될 것 같아요^^; (살짝 헷갈리신 듯 합니다..ㅎㅎ)
혹시나 이해가 안되시면 질문 다시 남겨주세요!
고맙습니다. :)





