RxJava has been helping to defeat complexity on Android for a few years now. RxSwift is rapidly catching up on iOS, and its impact is deemed to be bigger at least by an order of magnitude, because it happens to solve most iOS-specific complexity issues very efficiently. Think delegates and data sources spread all across the codebase - they’re gone! Think GCD and operation queues - gone! Think KVO with all its peculiarities - gone! What is left: a uniform declarative cohesive app logic, and almost no boilerplate code.