EXcEPTIOnal training for MOBILE developers

Swift Training Course

Speed Up your iOS App Development With Swift

16 Sep London
request info

Capita Marks and Spencer Telefonica Cisco BBC Lloyds Sony

Swift training course (code: Swift)


Our Swift training course teaches delegates how to take iOS and OS X application development a step further by building on the best of Objective-C and other modern languages. This course provides a comprehensive introduction to Swift's concepts and will show you how its concise and expressive syntax can help reduce coding time and create fast and powerful applications.


Experienced web and desktop app developers / programmers who need to learn how to develop commercial iPhone and iPad applications using the xCode IDE.



Day 1 & 2 - Basic swift (2 days)

- Introduction to playgrounds

              the basic tools for the course

- Constants

              in Swift constants are preferred to variables and how Swift passes data between constants

- Strings

              how strings work in Swift, including Swift 5 strings

- Data types

              Swift is a very strongly typed language so understanding types is essential

- Constant arrays

              using immutable data collections and their functions

- Constant sets

              how to use sets to remove duplicates from datasets

- Tuples

              this is a data type used in functional languages and allows the use of an ad-hoc data type

- Constant operators

              understand the basic operators that can be used on constants

- Program flow and control

              understand how to control of program operation in Swift and the enhanced features not available in other languages.

- intervals, ranges and Strides

              Ways of building and comparing ranges and sequences without iteration

- Optionals

              This is a unique feature of swift that allows basic errors to be handled, when no information is returned.

- Function signatures

              an overview of  functional signatures (concepts)

- Closures

              The use of anonymous functions and lambdas in Swift and passing functionality (not data)

- Enumerations

              Basic custom types built of limited data sets

- Constant Dictionaries

              use of key, value datasets in Swift

- Pattern matching

              filtering data, datasets and enumerations using switch

- Functions

              introduction to basic functions, passing data and the differences with Closures

- Sorted, Map, Filter, Reduce, Flatmap and Zip

              standard functional types implemented in Swift

- Variables

              how variables should be implemented in Swift and the differences compared to other languages

- Variable operators

              Operators that can only be applied to variable (not constants)

- Variable arrays

              extra features of variable arrays compared to constant arrays

- Variable Dictionaries

              extra features of variable dictionaries compared to constant dictionaries

- Variable sets

              extra features of variable sets

- Loops

              variable loop structures available within Swift

- Structures

              this covers the basic type that is most important in Swift that by default is always used in preference to classes (all standard types are structures not classes)

- Classes and objects

              how to use basic classes and object that allow Swift to interface with iOS and MacOS


              Memory and reference counting in Swift


Day 3 & 4 - Advanced Swift (2 days)

- More Enums, structures, classes and init

              a deeper dive into advance features Enums, structures, classes and how to use initialisers

- Observers

              implementation of the observer design pattern in Swift

- Composition

              Using composition over inheritance in Swift, which is a standard design patten in iOS and MacOS

- Built in Functions

              suctions that are standard in Swift

- Extensions

              extending types in Swift including Enumerations, Structures and Classes

- Protocols

              implementing the interface design pattern is Swift

- Protocol oriented programming (Only available in Swift no other language)

              using extension of protocols to remove the need to use Classes and references to implement inheritance and multiple inheritance

- Standard Library protocols

              protocols that are supplied by default in the Swift language

- Generics

              using generic functions in Swift to reduce the need for overloading of standard algorithms

- Inheritance

              Basic Class inheritance as implemented in Swift required for iOS

- More Functions

              more advanced features of functions in Swift

- Currying / Partial Calls

              implementing a functional design pattern to pass both data and functionality between closures and functions

- Inspection

- Grand Central Dispatch

              how to implement multi-threading in Swift programs using Apples standard GCD

- Persistance in Swift

              Saving data in swift

- Handeling JSON via Swift

              using the codable protocol to convert JSON to standard and custom types

- interaction with Objective-C

              how to access Objective-C class instances in Swift

- Access Controls

              levels of protection within Swift

- Error Handling

              How to handle errors and exceptions in Swift when one is Thrown

  • Understand the benefits of Swift and its role in iOS and OS X software development
  • Create, compile and execute Swift programs using Xcode
  • Verify Swift code in Playgrounds
  • Organise code with classes, structures and enumerations
  • Develop Mac, iPhone and iPad applications that use functions
  • Implement flexible object-oriented designs
  • Gain experience using Swift's data types and standard library.
  • Become familiar with the advanced features of the Swift language.

Receive the latest version of this course into your inbox


16th Sep 2019 - 4 days £2500

see all dates


Show Discount for this course


  Bring a JBI course to your office
  and train a whole team onsite
  0800 028 6400
or request quote

  You can customise this course to
  suit your exact needs here
  0800 028 6400 or request quote

0800 028 6400

Why JBI ?

►"great technology tips"
► "Access to exclusive content"
► "Short course means less time off"

►"Inspiring trainers"
► "Joined via web"
► "Knowledgable sales staff"

Get exclusive news about upcoming programs, technical insights & special offers