CUSTOMISED
Expert-led training for your team
Dismiss

Swift training course

A "World Class" course - Learn how to use Swift to Speed Up your iOS App Development, at the same time as preventing errors and improving readability

JBI training course London UK

"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"

Brian Leek, Data Analyst, May 2022

Public Courses

28/10/24 - 4 days
£2500 +VAT
09/12/24 - 4 days
£2500 +VAT
20/01/25 - 4 days
£2500 +VAT

Customised Courses

* Train a team
* Tailor content
* Flex dates
From £1200 / day
EDF logo Capita logo Sky logo NHS logo RBS logo BBC logo CISCO logo
JBI training course London UK

  • Understand 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
  • Speed Up your iOS App Development With Swift

Basic swift Concepts

  • 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
  • Use 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

more basics...

  •  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
  • ARC
  • Memory and reference counting in Swift
  • Functions

Beyond the basics

  • 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

more beyond the basics ...

  • 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
  • Using composition over inheritance in Swift, which is a standard design patten in iOS and MacOS
JBI training course London UK

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

5 star

4.8 out of 5 average

"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"

Brian Leek, Data Analyst, May 2022



“JBI  did a great job of customizing their syllabus to suit our business  needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and  the Instructor handled this particularly well - very impressive”

Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022

 

 

JBI training course London UK
 
Top 20 "Pain Points" for Data Analysts
 

Problem 11 : You have a very complex Excel spreadsheet and you want to reproduce EXACTLY the same spreadsheet in Power BI
Solution: Power BI is not Excel, it works differently and it has different strengths. In order to tackle this issue the best way is going back to the source and try to...

All 20 points are in our latest Newsletter - Delivered directly to your inbox



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.

CONTACT
+44 (0)20 8446 7555

[email protected]

SHARE

Corporate Policies     Terms & Conditions
JB International Training Ltd  -  Company number 08458005

Registered address Wohl Enterprise Hub 2B Redbourne Avenue London N3 2BS

POPULAR

Rust training course                                                                          React training course

Threat modelling training course   Python for data analysts training course

Power BI training course                                   Machine Learning training course

Spring Boot Microservices training course              Terraform training course

Kubernetes training course                                                            C++ training course

Power Automate training course                               Clean Code training course