Book Image

Learn Swift by Building Applications

By : Emil Atanasov, Giordano Scalzo, Emil Atanasov
Book Image

Learn Swift by Building Applications

By: Emil Atanasov, Giordano Scalzo, Emil Atanasov

Overview of this book

Swift Language is now more powerful than ever; it has introduced new ways to solve old problems and has gone on to become one of the fastest growing popular languages. It is now a de-facto choice for iOS developers and it powers most of the newly released and popular apps. This practical guide will help you to begin your journey with Swift programming through learning how to build iOS apps. You will learn all about basic variables, if clauses, functions, loops, and other core concepts; then structures, classes, and inheritance will be discussed. Next, you’ll dive into developing a weather app that consumes data from the internet and presents information to the user. The final project is more complex, involving creating an Instagram like app that integrates different external libraries. The app also uses CocoaPods as its package dependency manager, to give you a cutting-edge tool to add to your skillset. By the end of the book, you will have learned how to model real-world apps in Swift.
Table of Contents (14 chapters)
5
Adding Interactivity to Your First App

Pure network requests

Now, we should try to make some requests to fetch information from the weather service. But where is the best place to make network requests?

The application has to display the data from the API on different screens. If we do all of the requests from a single controller, then we have to pass the stored data to the next controller. Wouldn't it be better if we have a shared place in the memory (forecast store) which could be accessed by every controller? Once a controller needs some data, it should ask for it and pass a closure (code block) that will be executed when the data is available. This way, the communication with the backend will be encapsulated and only the final result will be provided.

This is a pretty neat trick, but be careful—don't use it everywhere because everything will become dependent on it, which is bad, if you want to...