A. RxSwift?


RxSwift is a library for composing asynchronous and event-based code by using observable sequences and functional style operators, allowing for parameterized execution via schedulers.

By Marin Todorov. ‘RxSwift - Reactive Programming with Swift.’ iBooks.

B. Cocoa and UIKit Asynchronous APIs


Apple은 iOS SDK 내에서 비동기적인 코드를 작성할 수 있도로고 다양한 API를 제공하고 있다.

일반적으로 대부분의 클래스들은 비동기적으로 작업을 수행하고 모든 UI 구성요소들은 본질적으로 비동기적이다. 따라서 내가 어떤 앱의 코드를 작성했을 때정확히 매번 어떤 순서로 작동하는지 가정하는 것은 불가능하다.

→ 결국 앱의 코드는 사용자 입력, 네트워크 또는 기타 OS Event와 같은 다양한 외부 요인에 따라 완전히 다른 순서로 실행될 수 있다.

문제

C. 비동기 프로그래밍 용어


1. State and specifically shared mutable state