Training

Intro to iOS


The Impatient Developer's Introduction to iPhone App Development (One day)

This single day introductory course is for experienced developers who are new to iOS app development.

Contact us at inquiries@dimsumthinking.com to book or inquire about this course for your group, company, conference, or public event.

What you'll learn


This fast-paced introduction to iOS provides an overview of the four pillars of iOS development: Xcode, Swift, Storyboards, and View Controllers.

We begin by creating a simple project in Xcode, Apple's IDE for developing apps for the iPhone, iPad, Apple Watch, Apple TV, and Mac. We create a simple GUI and connect it to our code.

We use Swift 4 to write our code. This modern language is designed to support safety and clarity. We embrace best practices as we create the code for our simple example.

Every year it seems that Apple adds more flexibility to Storyboards. We see how to use them to support different devices in different orientations as well as to localize the text and allow designers to customize the appearance.

Each scene is supported by a View Controller. We look at the classic MVC pattern and the modern MVVM adaptation as we let View Controllers manage the user's experience.

What you need


If you plan on coding along, you need a Mac with the latest version of Xcode installed. You'll work with Xcode projects and the iOS Simulator.

Syllabus Highlights


Meet Xcode

Create a new project

Navigators

Inspectors

Console

iOS Simulator

A simple UI

The Storyboard

Initial Scene

Libraries

Buttons and labels

Attribute Inspector

Constraints, Autolayout, and Stack Views

Outlets and Actions

Create and configure an outlet and outlet collection

Use the outlet and outlet collection

Create and configure multiple actions

Connection Inspector

Implement the actions

Communication

Model View Controller

Understanding View Controllers

Breaking up View Controllers

MVVM

Notifications

Passing closures

Simple Models

Custom UI

View Subclasses

Targeting multiple devices

Device specific layouts

Creating and using designables

Inspectable properties

One App with Two Scenes

Add view controller to storyboard

Configure the second scene

Create a button to trigger the segue

Connect Segue from first to second scene

Implement prepareForSegue()

Create Unwind Segues

Pass information back and forth