iOS 개발/Swift

[Swift 3] DispatchGroup 사용하기

beankhan 2017. 6. 9. 21:31


출처

http://seorenn.blogspot.kr/2015/08/swift-dispatch-group.html




DispatchGroup 을 사용하는 이유

dispatch_group_async 를 통해 이미 group 안에 들어간 job 들이 
끝나기를 기다렸다가 모두 완료되면 호출되기를 기대할 때 사용한다. 




DispatchGroup 사용하기

기본적으로 
wait 의 경우 synchronous 하게 동작하고,
notify 의 경우 asynchronous 하게 동작한다.


1. enter, leave 를 사용하는 방법

wait (synchronous) 사용할 때


notify (asynchronous) 사용할 때



2. enter, leave 를 사용하지 않는 방법



enter, leave 보다는 
queue.async 의 parameter 로 group 을 전달하는 것이
훨씬 가독성이 좋아보인다.