디스패치 큐 사용시 주의 사항

 

디스패치큐 사용시 주의사항

 

 

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

 

 

중요한 개념 : ui 관련작업은 메인큐에서 처리해야 한다

 

 

비동기로 작업을 보내다가 ui작업은 메인 뷰로 보내서 처리해야 한다

 


코드 예시


urlsession 도 내부적으로 비동기 처리 로직으로 작동한다.


비동기 작업 완료 후 ui 처리 작업은 메인 스레드로 보내서 처리하는 예


실제앱에서는 ui 작업이 메인큐에서 작동하고 플레이 그라운드에서는 global 큐에서 작동 한다.

2)sync 메서드에 대한 주의 사항
sync 메소드와 관련해 절대 해서는 안되는 코드 2가지


코드예시


이유는


2)현재의 큐에서 현재의 큐로 동기적으로 보내면 안된다

코드 예시


이유설명