Training

Introduction to iOS Programming with Swift


How to write modern iPhone and iPad apps (Four days)

This four day introductory course is for experienced developers who are new to Swift and modern iOS app development.

If your group has more experience with the language or the platform we can customize a Swift - iOS Bootcamp for you.

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 course will introduce you to the fundamentals of iOS app development using Swift on Xcode.

The first day of the class will get you up to speed with the Swift Programming language. We spend the day in playgrounds, exploring the ins and outs of programming with Swift.

On day two we dig deeper into idiomatic Swift and work with functions as closures, higher-order functions, sequences, and handling errors.

The third and fourth days introduce iOS application development. We begin with single view, create a UI and connect it to code using the latest techniques introduced for iOS. We work with MVC and MVVM and then move on to apps with multiple scenes. You will learn a variety of methods of presenting and dismissing scenes while communicating information between the view controllers. We'll also look at table views, navigation controllers, and tab bar controllers. We'll take a quick look at Core Data and web services.

What you need


You need a Mac running the latest publicly shipping version of Xcode. You'll work with Xcode projects and playgrounds and also the iOS Simulator throughout the course.

Syllabus Highlights


Swift Kickstart

Language Fundamentals

Functions

Variables and Constants

Collections

Types and Instances

Classes

Enumerations

Structs

Protocols

Thinking in Swift

Intermediate Concepts

Flexible Functions

Sequences

When Things Go Wrong

Higher-Order Functions

map(), filter(), reduce(), flatMap()

Swifty iOS

iOS App Fundamentals

Meet Xcode

A simple UI

Outlets and Actions

Communication

Custom UI (Optional)

Multiple Scenes

One App with Two Scenes

Manual Transitions

Segues

Enhance the UI

Modules

Delegates

Table View Based Apps (Optional)

Separating Concerns

Table Views

Nav and Tab Controllers

Core Data

JSON

Custom Cells

Passing Info

Collection Views