iOS Mobile App Development Training Course with Swift

Start Developing apps for iPhone, Apple Watch and Apple TV using Swift programming language

Upcoming Course Schedule

About this course

Learn more about developing apps for the iPhone with this Swift training course.

What is the course about

In this course you will learn how to develop professional iOS mobile apps using the Swift programming language. iOS mobile apps have been primarily been developed using Objective-C prior to the introduction of the Swift programming language. Apple introduced a new programming language called Swift as a way to reduce the entry level requirements into programming iOS apps. In this course you will develop mini-apps to introduce the different iOS concepts. You will develop a Chuck Norris joke app, that pulls random Chuck Norris jokes from an API. You will also develop a movies reviews app that connects to an API and pulls movie reviews, popular movies, and movies that are currently showing. As the course progresses you will also develop your own app based on your own idea using the concepts introduced in the course. You will be required to take what you learn from the course and apply tha use the concepts introduced in class and incorporate them into your own app.


This is a full time course offered over 5 days. By the end of the course the delegates would have created a fully working iOS mobile app.

Programming Experience

Swift is an easy language to learn and reduces the barrier to developing iOS mobile apps, however, a good command of object oriented programming concepts is required in order to succeed in this course.

Technical Skill

The Mac OS X environment will be used for developing iOS mobile apps. A working knowledge of using a Mac or the ability to pick up the Mac OS X environement will be required.

Private Training

We offer the training privately to a team, group or a company. The training runs over 5 days. The course curriculum can be customized to your needs. Training can be conducted on your premises or our premises. The course price onsite is R9 500 per delegate and R12 599 to run it on our premises. Training can be conducted on our premises in either Johannesburg, Durban or Cape Town. We work with you to find suitable dates for your team as there is no fixed start date for the course.

Public Training

We also conduct the training publicly. This is suitable for individuals or delegates that cannot book the private training. The class will be comprised of delegates and individuals from different companies.The training content and duration is the same and training will run at our premises in Johannesburg or Cape Town, South Africa. The course price is R12 599 per delegate. A minimum of 4 delegates is required to run the course. A preliminary date is scheduled and will be confirmed once we have 4 delegates to run the course.

Course Schedule

Download the full course schedule below

App Fundamentals

We'll setup our environment, walk through the basic architecture of an app, and put together a simple UI with Interface.


  • Setting Up your Environment
  • Starting a new Xcode Project

App Structure:

  • Understanding an Xcode Project
  • App Architecture

Project - Flicks Client
The purpose of this project is to develop a basic MVC application and start playing with table views, one of the more complex, but important views in iOS

We'll continue to focus on views and view controllers. We'll cover navigation between view controllers, events, and responsive layout using Auto Layout.

  • Auto Layout
  • Views
    • View Programming Guide
  • Table Views
  • Navigation in iOS
  • View Controllers
    • View Controller Programming Guide
    • View Controller Lifecycle
    • Passing Data Between View Controllers
  • Forms and Events

Networking and Authentication

We'll learn about networking and authentication, specifically for RESTful APIs. It's common to use networking libraries when interacting with RESTful APIs to handle tasks such as connection pooling, setting HTTP headers, serialization/deserialization, and authentication. We will also recommend some design patterns for implementing model classes.

  • Views
    • Pull-to-refresh
  • Networking
    • OAuth 1.0a Overview
    • A Conceptual Look at OAuth
    • Managing signed-in user
  • Auto Layout
    • Configuring constraints for adjacent UILabels
    • Dynamically modifying Auto Layout constraints

We'll cover some more advanced topics for views and view controllers. We'll play with view animations, as well as attaching and handling gesture recognizers. For view controllers, we'll create our own custom container view controllers.

  • Views
    • View Animation Overview
    • Using Gesture Recognizers
    • Moving and Transforming Views With Gestures
  • View Controllers
    • Custom Container View Controllers - Quickstart
    • Custom Container View Controllers - Guide
Device Frameworks

We'll explore the many iOS device frameworks, including location, camera, maps, push notifications, and accessing data on the phone.

  • Device Frameworks
  • Location
  • Maps
  • Camera
    • Apple Docs: AV Foundation Overview
  • Parse Guide: Push Notification
Multithreading and Persistence

We'll overview the various persistence options: NSUserDefaults, the file system, SQLite, and Core Data.

  • Persistence
    • NSUserDefaults
    • File System
    • SQLite
    • Core Data
  • Multithreading
    • NSOperation and NSOperationQueue
    • Grand Central Dispatch
    • NSTimer
UIKit Dynamics

The goal of this week is to explore UIKit Dynamics, the physics engine released in iOS 7. People have an intuitive and subconscious understanding of physics: how a ball will bounce against a wall or how a rubber band snaps. Bringing physics into your apps will give people the illusion that they are manipulating physical, not digital objects.

We will explore how to assemble various "behaviors" such as gravity, collision, and push to create different physical effects.

  • UIKitDynamics
  • Gravity
    • Add and remove gravity to objects
    • Set the direction and force of gravity
  • Collision
    • Cause objects to collide with each other
    • Cause objects to collide with a boundary
    • Detect when an object has collided with an item or boundary
  • Push
    • Apply a continuous or instantaneous force to an object
    • Set the direction and force of the push
Download Course Outline
Course Pricing

Choose your training options. Attend a public or private training.

Public Training
  • Training at our center
  • Small class size
  • 5 days instructor led
  • Access to Slack channel
  • Access to materials website
  • 6 months after training support
  • Teamviewer, email and telephone support
  • Personalized feedback
  • Light lunches
Reserve Seat
Private Training - Onsite
  • Training on your site
  • Choose as many delegates as you want
  • 5 days instructor led
  • Access to Slack channel
  • Access to materials website
  • 6 months after training support
  • Teamviewer, email and telephone support
  • Personalized feedback
  • Customized course content
  • You provide the lunches
Enquire Now

Newsletter Sign Up

No Spam - Only latest news, price and activity updates
What people say about our courses

This is what our clients have to say

After attending the Xamarin training from Peruzal on our site, we were able to drastically accelerate our internal mobile app development efforts. Peruzal was a phone call away each time we needed support.
Jonathan Winnaar Scientist @ Institute for Maritime Technology
Came across your courses on Google search, after searching for Ruby training around South Africa. We were completely blown away with how much your trainers know stuff.
Divan Santan Infrastrucutre Engineer @ First National Bank
After our DBA left, we were left with noone with the skills to manage the research and scientific database Infrastrucutre. With Peruzal, we were able to get our team running in a matter of a week.
Encarni Colmenero Astronomer @ Southern African Large Telescope
Our team had different backgrounds, application programmers and astronomers with varied database interactions, we did not have formal training in the MySQL database. Peruzal delivered the training onsite and we were comfortable working with MySQL.
Lucian Botha Astronomy Information System Specialist @ South African Astronomical Observatory
“Coming from an academic background, with no prior exposure to programming, I had to develop an Android mobile app for tuition and research purposes. Peruzal helped me to build and implement the app in record time!”
Thuli Shandu Lecturer @ Univeristy of South Africa
Having years of experience in automation and embedded systems, we wanted our team to have experience in developing for Android. Peruzal did send a trainer onsite and we were blown away with the amount of information we had learnt in just 5 days
Cobus Smith Automation Manager @ ArcelorMittal

Answers to some of the most frequently asked questions.

Public Training
What is public training

With public training you attend the course with other delegates from other companies at our premises. If you would like private training we can arrange that the training be done at your premises, however, we require a minimum of 4 delegates for a private course.

What is private training

The training runs at your premises or you can come to us. We require a minimum of 4 delegates for a private training.

Refund Policy

Should you not be happy with the training, this should be raised within the first hour of training. We will try to resolve the issue and if we can't we refund 100% your money.

Cancelling Training

You can not cancel the course once you have booked. Please make sure that you have resolved your dates before making a booking. It takes a long time to organise the training, so we will not be able to refund once you book, however we can try to re-schedule the course at a later date for you.

Course Pricing
How much does the course cost?

The course price depends on whether the course will be on your site(private training) or at our offices(public). For a private course we require a minimum of 4 delegates in order to schedule the course.

How long does it take to complete the course

Most of our coruses are offered over 5 days full time, except for the Xamarin Cross Platform Mobile App Development course which is offered over 2 weeks. No part-time courses are offered at the moment.


We don't provide accomodation but we can help you find accomodation close to the center. We can also help you with arranging transport to pick you up from the airport.

Our preferred accomodation provider is AirBnb. We recommmend if its your first time, only book from a Super Host on AirBnB.

Certificate of Completetion

Our mobile app development courses are hands on, for you to receive a certificate of completion, you will need to demonstrate that you have master the concepts during the course by developing a production mobile application and deploying it to the Google Play or Apple store. No certificates of completion will be awarded without proof that you have developed and deployed your app to the relevant store.