About this course

Course type Performance Plus
Course code QASWIFT
Duration 3 Days

Swift is an exciting, new programming language for the rapid development of iOS and OS X apps. It combines the best features of languages like Python, Ruby and Java to create a powerful modern language that's great to work with.

On this course we will logically take you through the Swift programming language, enabling you to focus on the code and how you can apply it in the real world. Step by step you will develop your Swift knowledge, with hands-on labs allowing you to reinforce what you have learned after each step. At the end you will apply your Swift knowledge by writing a simple iOS app.

Prerequisites

Delegates for this course need to be competent programmers in another programming language and have an understanding of object-oriented programming principles.

Outline

Module 1 - Introducing Swift

  • About Swift
  • XCode Overview
  • Projects and Playgrounds
  • Basic Swift Syntax

Module 2 - Data Types

  • Primitives
  • Integers, Floats, Booleans, Tuples
  • Working with strings
  • Constants and Variables
  • Literals
  • Type Aliases
  • Optionals

Module 3 - Basic Syntax

  • Math and Logic operations
  • Defining Arrays and Collections
  • Controlling Program Flow with conditionals and loops
  • Enumerations
  • Nested Types

Module 4 - Functions and Closures

  • Defining a Function
  • Passing parameters
  • Returning single and multiple return values
  • Parameter Naming
  • Variadic, constant, variable and In-Out parameters
  • Closures

Module 5 - Classes and Structures

  • Value types explained
  • Defining structures
  • Assigning structure instances
  • Reference Types
  • Defining Classes
  • Differences between Value and reference types and when to use
  • Setting up Initializers and de-initializers

Module 6 - Properties in detail

  • Stored Properties
  • Lazy and Computed properties
  • Working with Property Observers
  • Encapsulation?

Module 7 - Methods

  • Defining Instance and Type Methods
  • Method naming
  • Mutating Methods
  • Subscripts

Module 8 - Using Inheritance and Polymorphism

  • Creating Subclasses
  • Overriding Methods, Properties and Observers
  • Initialization of inherited types - Chaining
  • Casting and subtype polymorphism

Module 9 - Automatic Reference Counting

  • Reference Counting Explained
  • ARC Under the hood
  • Strong and Weak references
  • Unowned references
  • ARC and Closures

Module 10 - Protocols and Extensions

  • What is a protocol
  • Implementing a protocol
  • Delegation
  • Protocol Inheritance
  • Checking conformance
  • Extending types with Extensions

Module 11 - Generics

  • Why Generics
  • Generic Functions
  • Generic Types
  • Constraints

Module 12 - Bringing it all together

  • Creating a simple iPhone app with Swift

Performance Plus

3 Days

Duration

This course is authored by QA

Delivery Method

Delivery method

Classroom

Face-to-face learning in the comfort of our quality nationwide centres, with free refreshments and Wi-Fi.

Find dates and prices

Online booking is currently not available for this course, to find out more please call us on 0345 074 7998 or email us at info@qa.com to discuss how we can help.