You’re finally here! Congratulations on completing this book, and we hope you enjoyed learning about Combine from the book as much as we’ve enjoyed making it.

In this book, you’ve learned about how Combine enables you to write apps in a declarative and expressive way while also making your app reactive to changes as they occur. This makes your app code much more versatile and easier to reason about, along with powerful compositional abilities between different pieces of logic and data.

You started off as a complete Combine beginner, and look at you now; oh, the things you’ve been through—operators, networking, debugging, error handling, schedulers, custom publishers, testing, and you’ve even worked with SwiftUI.

This is where we part ways, but we have full confidence in you! We hope you’ll continue experimenting with Combine and constantly enhancing your “Combine muscles.” As the saying goes—“practice makes perfect.”

And like anything new you learn—don’t forget to enjoy the ride.

If you have any questions or comments about the projects in this book, please stop by our forums at

Thank you again for purchasing this book. Your continued support is what makes the books, tutorials, videos and other things we do at possible. We truly appreciate it!

— Florent, Marin, Sandra, Scott, Shai, Tyler and Vicki

The Combine: Asynchronous Programming with Swift team

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.

Have feedback to share about the online reading experience? If you have feedback about the UI, UX, highlighting, or other features of our online readers, you can send them to the design team with the form below:

© 2021 Razeware LLC

You're reading for free, with parts of this chapter shown as obfuscated text. Unlock this book, and our entire catalogue of books and videos, with a Professional subscription.

Unlock Now

To highlight or take notes, you’ll need to own this book in a subscription or purchased by itself.