본문 바로가기

비동기2

[Swift 5.5] Async / Await Swift 개발을 하다보면 Closure나 Completion Handlers를 사용하는 asynchronous(비동기) 프로그래밍을 많이 하게 된다. 이처럼 많은 비동기 작업, 오류 처리, 비동기 호출 간의 제어 흐름이 복잡할 때 문제가 된다. 많은 비동기 작업에는 수많은 tab이 들어간 deeply-nested closures가 필요하게 되고, 콜백은 오류 처리를 매우 어렵고 장황하게 만든다. 비동기 호출 간의 제어 흐름이 복잡할 때는 어떠한 closure가 completion handler에서 사용될 때, capture에 대해 신중하게 생각해야 하는 상황이 발생할 수도 있다. 그래서 나오게 된 것이 async와 await다. async와 await는 Swift 5.5부터 새로운 비동기 프로그래밍 패.. 2021. 12. 20.
Promises 보통 Swift에서 비동기처리를 구현할 때는 delegate 패턴을 사용하거나 RxSwift를 활용하는 등의 방법을 사용합니다. 저도 지금까지 개인프로젝트를 진행할 때 RxSwift에 익숙해질 겸 RxSwift+MVVM 구조를 적용하려고 노력했는데요, 이번에 동아리 프로젝트에서 RxSwift가 아닌 Promises를 사용해보자는 이야기가 나와서 Promises에 대해 한 번 알아보려 합니다. RxSwift는 주로 사용되는 기능들 외의 다른 수많은 기능들은 잘 사용되지 않을 때가 있는데요, 그래서 간단한 프로젝트에서는 사용되지 않는 기능들까지 pod파일로 가지고 있어야 해서 사용해야하는 메서드에 비해 파일의 양이 방대해집니다. 그래서 이번에 구현하려는 개인 프로젝트에서는 Promises를 연습해볼겸 Pro.. 2021. 4. 29.