App Development with Swift 4.2

Duration: 5 Days


From Playgrounds to protocols, discover, explore, and demonstrate how to use the fundamental building blocks of the Swift programming language. This 5-day, hands-on course is designed to teach you the basic concepts of Swift programming, including syntax, logic, structures, functions, and patterns. It also includes detailed explanations of language syntax and coding exercises. You will also learn how to build and run your first apps on iOS using the Swift programming language. Discover and learn common tools, technologies, interface elements, and design patterns used to build iOS apps. The course includes detailed explanations of iOS technologies, hands-on use of Apple’s development tools, and coding exercises in Swift that use common iOS frameworks. Upon completion of the App Development with Swift course, students will: Learn how to use Xcode Playgrounds to write Swift code Learn common programming patterns used in Swift Learn keywords and vocabulary used by the Swift language Learn how to build native apps using the iOS SDK Learn how to use Xcode and the Simulator Learn how to use common navigation patterns and UI controls [Note: This course is a combination of APL-DEV100-040 and APL-DEV105-110 taught in the same week]


Getting Started with iOS development videos: Learn about Apple’s advanced mobile device hardware, the characteristics of modern apps, the iOS software development kit, Apple developer programs, and Apple’s approach to security and distribution. Basic computer programming concepts: You should be comfortable with basic concepts of computer programming, including variables, strings, logic, and classes. You’ll be expected to write code as part of the training.

Course includes

A comprehensive set of reference notes covering course topics, follow-up telephone support and, for training on Transmedia premises, lunch and refreshments.

Course outline

Introduction to Swift and Playgrounds

  • Learn about the origin of Swift and some of its basic syntax

Constants, Variables, and Data Types

  • Learn how to define constants for values that don’t change and variables for values that do
  • Learn the data types that are included in Swift and how they can help you write better code


  • Learn how to use logical operators in Swift to check conditions and how to use control flow statements

Control Flow

  • Learn how to use logical operators in Swift to check condition
  • Learn how to use control flow statements


  • Learn how to create and store text using the String type
  • You'll learn a variety of String methods that allow you to compare two strings, access specific characters within a string, and insert and remove values


  • Learn how to declare functions with different parameters and return types


  • Learn how to create structures in Swift


  • • Learn what makes classes different from structures and when to use classes instead of structures
  • • You'll also learn about inheritance, super-classes, and sub-classes


  • • Learn to use optionals to properly handle situations when data may or may not exist


  • Learn about the various collection types available in Swift and how to choose the appropriate one for your program


  • Learn how to create loops in Swift, control the conditions for looping, and specify when to stop
  • Type Casting
  • Learn why some data can be expressed using only a broader type and how you can test for specific kinds of data before using it
  • Guard
  • Learn to use guard statements to better manage control flow


  • Learn to write nicely structured code that's easy to read You'll do this by properly scoping your constants and variables


  • Learn when enumerations are commonly used, how to define an enumeration, and how to work with enumerations using switch statements


  • Learn what protocols are, when to use them, and how to write your own Learn how to enable objects to communicate with each other and how to extend protocols to provide shared functionality across multiple types


  • Learn about closures, how to define them, how to use them as function arguments, and how to use some of the common functions that take closures as arguments


  • Learn how to define an extension, as well as how and why to use extensions

Interface Builder Basics

  • Learn how to navigate through Interface Builder, add elements onto the canvas, and interact with those elements in code

Displaying Data

  • Use Interface Builder to create the beginnings of an app, adding labels and images

Controls in Action

  • Use Interface Builder to add buttons, switches, and sliders to a scene. Create actions and outlets, write some basic code, and learn how these tools work together

Auto Layout and Stack Views

  • Learn the fundamentals of Auto Layout for building precisely designed user interfaces

Segues and Navigation Controllers

  • Learn how to use segues to transition from one view controller to another, how to define relationships between view controllers, and how navigation controllers can help you manage scenes that display related or hierarchical content

Tab Bar Controllers

  • Learn how to use tab bar controllers to organize different kinds of information or different modes of operation

View Controller Life Cycle

  • • Learn more about the view controller life cycle so you can understand the potential of this important class

Building Simple Workflows

  • ie together the concepts you’ve learned so far to design simple workflows and familiar navigation hierarchies
  • App Anatomy and Life Cycle
  • Learn more about the different life cycle states and the delegate hooks for executing logic as the app moves through each state

Model View Controller

  • Learn how to organize files, structures, and classes into a design pattern called Model-View-Controller

Table Views

  • Learn the basics of creating table views in an iOS app

Intermediate Table Views

  • Learn how to customize your table views with custom cells, dynamically insert and remove cells, use static table views to present forms or other nonchanging lists, and allow the user to swipe to delete cells

Saving Data

  • Learn how to persist data using NSCoding, a protocol for saving files to your app's Documents directory

System View Controllers

  • Learn how to incorporate a variety of system view controllers for displaying alerts, sharing content, sending messages, and accessing the camera and photo library on an iOS device

Building Complex Input Screens

  • Learn how to use a combination of static and dynamic table views. Also learn to use controls and views to build custom workflows that put an elegant face on any kind of business information

Working with the Web: HTTP and URLSession

  • Learn the basics of how web data is sent and received, how URLs work, and how to fetch data for use in your app

Working with the Web: JSON Serialization

  • Learn how to read and write basic JSON. Also learn how to convert JSON to and from Swift types and into your own custom model objects

Working with the Web: Concurrency

  • Learn about the concurrency system in iOS and how to make sure code that updates the user interface is executed in the right place

Live Chat

Course Dates

RemoteLondon CentralLondon GreenwichBristol

London Greenwich

Dates Price Book Now
19 - 23 Oct £1575 + VAT Book Now
2 - 6 Nov £1575 + VAT Book Now
7 - 11 Dec £1575 + VAT Book Now
See more dates...
All our courses run in London and Bristol, or can be tailored to requirements at your own offices. For alternative dates, please email or call us on 0208 269 4260
All prices are per person and are subject to VAT
15% discount for groups of four delegates.
10% discount for groups of three delegates.
(This offer applies for delegates on the same public scheduled course on the same date.)

"I am writing to say thank you for organising my FileMaker training day; I learned so much with my trainer, Nick, and have come away with such a great database. It delighted both the Director and my job share partner. I feel I have left with a great amount of knowledge that can help the business immensely. I learned more than I thought I would and would like to thank Transmedia for being so helpful!"

Lucie Mills

"Very thorough course and enthusiastic trainer who was very helpful and responsive to individual needs."


"Exceptional knowledge base and tailored to suit our requirements."


© Transmedia . 85 Tottenham Court Road, London, W1T 4TQ  UK . 0208 269 4260       Privacy Policy