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)
Adding Interactivity to Your First App

Table view in iOS app

First, let's create a new single view Xcode project with the default language Swift and target OS—iOS. We already know how to do this from previous chapters:

Open the storyboard and add a new table view controller. (Use the Utilities panel and the object library. If you filter the controls, you will find the Table View Controller in no time.) You should see two view controllers on the screen:

Two view controllers on the screen
Use a different scale level so that you can see more scenes at once.

Drag the gray/blue arrow (the one on the left) from the default view controller to the new view controller. This arrow defines which scene (screen) is the app's initial view controller. You can remove the other view controller, which we won't use.

Before defining the table cells, which should be used to render each item in the table, we need...