CUSTOMISED
Expert-led training for your team
Dismiss

SwiftUI training course

Learn how to use SwiftUI to compose rich views out of simple ones, set up data flow, and build the navigation while watching it unfold in Xcode's preview.

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

06/01/25 - 3 days
£2500 +VAT
17/02/25 - 3 days
£2500 +VAT
31/03/25 - 3 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

  • Overview of SwiftUI and Xcode
  • Why use SwiftUI compared to UIKit? (Pros and Cons)
  • SwiftUI Application Lifecycle
  • Arranging Views on the UI
  • Basic Interaction
  • Understand basic interaction User Interface controls
  • Subviews
  • Sharing Data Between Structures
  • GeometryReader
  • Understand ViewBuilders
  • Tab Views
  • Pickers
  • Introduction to Lists
  • Modal and Navigation Views
  • Saving data
  • SwiftUI/UIKit interoperability
  • SwiftUI best practices, workarounds and limitations

 

Here is a short video of a session on sets in Swift that would be taught during JBI Training's 4 day Swift training course.

Overview of SwiftUI and Xcode

  • Overview of SwiftUI features
  • SwiftUI file types use in an App Project
  • Walk through of all the main features of the Xcode IDE
  • Preview mode and the Simulator
  • Useful Shortcuts
  • Project templates for Multiplatform, iOS/iPadOS, macOS, watchOS & tvOS
  • Anatomy of an application
    • Understand sandboxing
    • What makes up an iOS app
    • Understand SwiftUI App Hierarchy
    • Understand the role of scenes and views
    • Info.plist
    • Understand the coordinate system used for placing views
    • Understanding about app icons and launch images
  • Overview of Preview Area
  • Overview of Libraries

Lab 1 - Build a simple “Hello World App” in SwiftUI using Xcode

Why use SwiftUI compared to UIKit? (Pros and Cons)

  • Overview of UIKit compared to SwiftUI
  • Pros and cons of UIKit
  • Pros and cons of SwiftUI

 

SwiftUI Application Lifecycle

  • Understand Scene Phase
    • active
    • inactive
    • background
  • Understand the Application Lifecycle
    • Not running
    • Inactive
    • Active
    • Suspended

Lab 2 - Build an App that displays the Scene Phase and Application Lifecycle

Arranging Views on the UI

  • Understand what a Stacks are available in SwiftUI
    • VStack
    • HStack
    • ZStack
    • Stack alignments
  • Understand Padding Modifiers
    • top
    • bottom
    • leading
    • trailing
    • horizontal
    • vertical
  • Understand the different properties
  • Understand Spacers

Lab 3 - Build an App using Stacks and Padding

Basic Interaction

  • Understand user interaction in SwiftUI
  • Buttons
  • Text
  • @State

Lab 4 - Build Appwith  user interactive buttons

Lab 5 - Build a Quiz App

Understand basic interaction User Interface controls

  • Text
  • TextField
  • Slider
  • Toggle
  • Segment Picker
  • Stepper
  • ContextMenu
  • Alerts
  • ActionSheets

Lab 6 - Build an app using all the controls

 

Subviews

  • Understanding sub-views in SwiftUI
  • Calling a sub-view from a main view
  • Using images in an app

Lab 7 - Build an app with a sub-view

 

Sharing Data Between Structures

  • Using Structures in SwiftUI to build other views
  • Sharing data with Bindings
  • StateObject and ObservedObject
  • EnvironmentalObject

Lab 9 - Build an app with Bindings to pass data

Lab 10 - Build an app with StateObject and ObservedObject to pass data

Lab 11 - Build an app using EnvironmentalObject to pass data

GeometryReader

  • Overview of GeometryReader
  • Max
  • Min

Lab 12 - Build an app with using GeometryReader

Lab 13 - Build an app using GeometryReader Max and Min

 

Understand ViewBuilders

  • ResultBuilders
  • Overview of SwiftUI ViewBuilders
  • Creating Childview using a ViewBuilder

Lab 14 - Build an app using ViewBuilders

 

Tab Views

  • Understand Tab Views
  • Using simple Tab Views
  • Embedding Views in Tab Views

Lab 15 - Build an app using Tab Views

 

Pickers

  • Understanding Pickers
  • Single Pickers
  • Double Pickers
  • Dependant Pickers

 

Lab 16 - Build an app using various type of Picker

 

Introduction to Lists

  • Basic Lists
  • OutlineGroups
  • DisclosureGroups
  • Load Data/images to lists dynamically

Lab 17 - Build an app using Lists to display data sets

Modal and Navigation Views

  • Understand presenting Modal Views
  • Using Navigation Controllers

Lab 18 - Build an app using Modal Views for navigation

Lab 19 - Build an app using Navigation Views for navigation

 

Saving data

  • The Codable Protocol
  • Using an Encoder
  • Using a Decoder
  • Saving data to a Plist file
  • Reading Data from a Plist file
  • Saving Data in a json format
  • Reading Data in a json format

Lab 20 - Build an app that saves data to a Plist file

Lab 21 - Build an app that saves data to a json file

 

SwiftUI/UIKit interoperability

  • Overview of SwiftUI and UIKit interoperability
  • Intergrating UIViews into SwiftUI
    • MakeUIView()
    • updateView()
    • dismantleUIView()
  • Using a coordinator
  • Handeling UIKit Deligation and Data Sources
  • Intergrating UIViewControllers into SwiftUI

Lab 22 - Build an app that integrates a UIView into SwiftUI

Lab 23 - Build an app that integrates a UIViewController into SwiftUI

 

SwiftUI best practices, workarounds and limitations

  • Best practices to use when building a SwiftUI app
  • Workarounds when problems occur
  • Limitations of SwiftUI
  • Considerations about when to use SwiftUI or UIKit

 

*** Additional topics that could be covered on a 4 day course

  • Using Combine with SwiftUI
  • Advanced List
  • Spilt Views
  • WebViews
  • Maps

 

 

 

JBI training course London UK

Experienced Swift Developers who want to Learn how to use SwiftUI to compose rich views out of simple ones, set up data flow, and build the navigation while watching it unfold in Xcode's preview.

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

Newsletter

 

Sign up for the JBI Training newsletter to stay updated with world-class technology training opportunities, including Analytics, AI, ML, DevOps, Web, Backend and Security. Our Power BI Training Course is especially popular.  Gain new skills, useful tips, and validate your expertise with an industry-leading organisation, all tailored to your schedule and learning preferences.



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.

Why use Swift?

Swift is a clean and concise language that is also growing fast and gaining popularity. Initially developed only for native iOS development, programmers also use Swift to write safe, concise, and easy-to-use code for operating systems like Windows and Linux.

CONTACT
+44 (0)20 8446 7555

[email protected]

SHARE

 

Copyright © 2024 JBI Training. All Rights Reserved.
JB International Training Ltd  -  Company Registration Number: 08458005
Registered Address: Wohl Enterprise Hub, 2B Redbourne Avenue, London, N3 2BS

Modern Slavery Statement & Corporate Policies | Terms & Conditions | Contact Us

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