Call +65 6100 0613 Email:

Instructor-led Classroom Adult Training in Singapore - Modular Fast Track Skill-Based Trainings

Swift 4 Essential Training

This Swift 4 will take you through each component of the language, explaining what you need to know to become proficient in programming with Swift 4, from concepts to hands-on coding. Scott covers data types, control statements, functions, classes and structures, and much more.

Completing this course will prepare you to use Swift 3 to develop apps for iPhone and iPad, Mac, Apple Watch, and Apple TV.

Topics include:

  • Installing Xcode
  • Creating and using playgrounds
  • Defining variables and constants
  • Working with strings
  • Using arrays, dictionaries, sets, and tuples
  • Performing operations
  • Controlling program flow
  • Working with functions and closures
  • Defining classes, structures, and enumerations
  • Defining and adopting protocols
  • Extending types
  • Generic programming
  • Using access control

After your registered for the course, you can apply SSG grants below

Click here to apply SkillsFuture Credit for Individual

Click here to apply WSG Absentee Payroll for Company
Course Code: CRS-N-0031886

Course Booking

$298.00 (GST-exclusive)

Course Date

Course Time

* Required Fields

Course Cancellation/Reschedule Policy

We reserve the right to cancel or re-schedule the course due to unforeseen circumstances. If the course is cancelled, we will refund 100% to participants.
Note the venue of the training is subject to changes due to class size and availability of the classroom.
Note the minimal class size to start a class is 3 Pax.

Training Grant and Subsidy

All Singaporeans aged 25 and above can use their $500 SkillsFuture Credit from the government to pay for a wide range of approved skills-related courses. Visit the SkillsFuture Credit website to choose from the courses available on the SkillsFuture Credit course directory

Course Details

1. Getting Started

  • The Swift revolution
  • Installing Xcode
  • Creating a playground
  • Adding pages to a playground
  • Working with the results sidebar
  • Logging in to the console
  • Adding comments
  • Running a REPL
  • Using dot notation

2. Variables and Constants

  • Understanding value and reference types
  • Understanding mutability
  • Defining strings
  • Defining characters
  • Defining integers
  • Defining floating points
  • Defining Booleans
  • Defining numeric literals
  • Defining type aliases
  • Deferring value assignment and handling nil

3. Characters and Strings

  • Understanding Unicode
  • Working with strings

4. Collections and Tuples

  • Defining arrays
  • Inspecting and accessing arrays
  • Modifying arrays
  • Nesting arrays
  • Defining dictionaries
  • Inspecting and accessing dictionaries
  • Modifying dictionaries
  • Nesting dictionaries
  • Defining sets
  • Inspecting and comparing sets
  • Performing set operations
  • Modifying sets
  • Nesting sets
  • Defining tuples
  • Accessing decomposing and nesting tuples
  • Modifying tuples

5. Operators

  • Using arithmetic operators
  • Combining strings and arrays
  • Using comparison and logical operators
  • Using ternary conditional and nil coalescing operators
  • Using range operators
  • Using type checking and casting operators
  • Understanding binary notation
  • Using bitwise operators
  • Understanding operator precedence and associativity

6. Control Flow

  • Using for and for in
  • Using while and repeat while
  • Using if and if else
  • Optional binding
  • Using guard
  • Using switch
  • Using labels
  • A quick note on enums
  • Using if case and for case
  • Deferring code execution
  • Optional chaining

7. Functions

  • Defining and calling functions
  • Variable input and output parameters
  • Reference type parameters
  • Returning functions
  • Returning tuples
  • Currying
  • Handling errors
  • Overloading functions
  • Creating custom operators
  • Working with closures
  • Using closures to calculate values
  • Using advanced functions

8. Classes, Structures, and Enumerations

  • Comparing classes and structures
  • Working with classes
  • Class instance properties
  • Class instance methods
  • Deinitializing a class before cleanup
  • Avoiding strong reference cycles
  • Working with singletons
  • Working with structures
  • Creating mutating structures
  • Creating error type structures
  • Working with basic enumerations
  • Associating values in enumerations
  • Working with recursive enumerations
  • Subscripting

9. Protocols

  • Defining and adopting protocols
  • Working with protocols that have optional properties
  • Using protocols in the Swift standard library
  • Working with protocol types
  • Implementing delegation
  • Working with option set types

10. Subclassing and Extending

  • Subclassing
  • Initializing from subclasses
  • Overriding initializers
  • Preventing subclasses from overriding properties or methods
  • Extending concrete types
  • Adding initializers and protocol adoption via extensions
  • Extending protocols
  • Overriding default implementations

11. Generics

  • Understanding generics
  • Working with generics
  • Constraining generic types
  • Protocol associated types

12. Access Control

  • Understanding access control
  • Setting up access control
  • Working with access control

Who Should Attend

  • Those who are new to iOS Swift programming
  • Those who want to learn the new iOS Swift programming




iOS Swift Apps DeveloperNoel developed a passion towards games since young, hence, he starts to learn about game design & coding during leisure time. While pursuing his degree, he mentored students in iOS app & game development. He has been a freelance iOS app developer and trainer whilst having two years of experience and exposure to Swift. Present, he aspires to share his knowledge and passion with others.

iOS Swift Apps DeveloperPeter Goh is the Technology Evangelist at Disruptive Digital, a full-service digital agency based in Singapore, offering innovative & effective web and native mobile application development. He specializes in bleeding edge software development and have more than 10 years' experience in developing customized applications for desktop, web and mobile platforms. He has extensive domain knowledge in .Net and Java programming, iOS development and has helped many to create e-commerce web sites on Amazon AWS and Microsoft Azure

iOS Swift  TrainerMai Anh Vu graduated from National University of Singapore Computer Science with Honours, specialising in both Software Engineering and Artificial Intelligence. In his spare time, he works on freelance projects and has over 4 years of freelance experience in Full-stack Web development. He also has 2.5 years of full-time experience in iOS programming, and now works in Sea Group (previously Garena) as an iOS engineer. Started programming since the age of 12, Vu’s experience ranges from competitive programming, Full-stack Web Development, Mobile Development (iOS and Android), to Artificial Intelligence, Machine Learning, and Computer Vision.

iOS DeveloperRamesh has over 8 Years of real time experience in Android / iOS application development using Eclipse, Android Studio and XCode. Over 10 years of experience in teaching Java, Android and High School Mathematics. He has worked on Messaging apps, Location based apps, Banking and Fire domains. Ramesh has done his Masters degree from Osmania University, India. Currently based in Singapore.

He is proficient in :

  • Android Application Development
  • iOS application development.
  • Google Analytics
  • Google AdMob.
  • A-B Testing
  • Automation Testing using Robotium.

Customer Reviews (1)

Will RecommendReview by Christopher Foo
1. Do you find the course meet your expectation?
2. Do you find the trainer knowledgeable in this subject?
3. How do you find the training environment
. (Posted on 10/14/2018)

Write Your Own Review

You're reviewing: Swift 4 Essential Training

How do you rate this product? *

  1 star 2 stars 3 stars 4 stars 5 stars
1. Do you find the course meet your expectation?
2. Do you find the trainer knowledgeable in this subject?
3. How do you find the training environment
  • Reload captcha


Use spaces to separate Subjects. Use single quotes (') for phrases.

You May Be Interested In These Courses

iOS App Development with Swift Essential Training

iOS App Development with Swift Essential Training

9 Review(s)
$498.00 (GST-exclusive)