인프런 커뮤니티 질문&답변

습득자님의 프로필 이미지

작성한 질문수

iOS Concurrency(동시성) GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해

1) 반드시 메인큐에서 처리해야하는 작업 2) sync메서드에 대한 주의사항 3) weak, strong캡처 주의 4)컴플리션핸들러의 존재이유 5) 동기적함수를 비동기함수 처럼 만드는 방법

질문드립니다.

22.07.29 01:11 작성

·

188

1

안녕하세요.

동기함수를 비동기 함수처럼 사용하는 법에서

동기함수(tiltShift)를  내부 내용을 그냥 비동기로 한번 감싸고 escaping 컴플리션 함수로 만들면 되지 않나요?

DispatchQueue.global.async {

guard let ~~

return image.applyBlur(radius:6, maskImage: mask)

}

따로 작업을 마치고나서의 큐를 이용하는 이유가 궁금합니다!

 

 

답변 2

1

습득자님의 프로필 이미지
습득자
질문자

2022. 07. 29. 22:58

답변 감사합니다.

잘 답변 주셔서 이해했습니다 !

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

2022. 07. 29. 23:00

네네 :)

0

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

2022. 07. 29. 02:14

안녕하세요. 습득자님.

당연히 그렇게 하셔도 됩니다.ㅎㅎ

지금은 tiltShift라는 함수의 내부 구현을 직접적으로 바꾸실 수 있으니
(내부 구현이 보이니) 그렇게 하셔도 되지만,

지금 제가 강의에서 보여드리는 것은
thiltShift 함수가 라이브러리와 같은 외부 함수로
동기적으로 이미 구현되어 있다는 것을 가정하고
(해당 동기함수를 직접적으로 내부 코드도 바꿀 수도 없다는 것을 가정) 있는 것입니다.

동기적인 함수가 있다면 ===> 어떻게 비동기 함수로 만들 수 있을까?
에 대한 내용입니다. 
(본래 동기적으로만 구현된 함수가 있다면
비동기적으로 동작할 수 있는 함수로도 감싸서.. 만들 수 있다는 것을 보여드리는 것이지
본래 해당 동기함수의 구현을 (내부에서 비동기적으로) 바꾸는 형식도
당연히 가능은 하겠죠.)


감사합니다. :)