Developing Mobile Applications for iOS with Swift

Overview

Building on your existing development experience we introduce Swift and then explore iOS as a platform. Next we explore the core architecture of an iOS app from basic UI construction through to data, location, animation and even asynchronous cloud access.

This course is hands on and you will build everything you see. By the end you will be able to incorporate many of iOS's most advanced features into your own apps.

Prerequisites

At least two years commercial programming experience in a third generation programming language (such as C, C , C#, Java, Basic, Pascal). In addition a good understanding of object oriented design principles is required. You will also benefit by attending the Swift Programming language course prior to this course.

Syllabus

Module 1 - iOS Development

  • A bit of history
  • iOS Architecture
  • Cocoa Framework
  • Xcode overview
  • Anatomy of an iOS Application

Module 2 - Swift 101

  • Data Types and Optionals
  • Operators
  • Control Flow
  • Functions and Parameters
  • Closures

Module 3 - Swift 102

  • Classes and Encapsulation
  • Initializers
  • Defining Properties and Methods
  • Setting up Inheritance
  • Protocols & Delegates
  • Generics
  • Defining Categories

Module 4 - Views and View Controllers

  • Views
  • View Controllers under the hood
  • Introduction to Interface Builder
  • Defining Storyboards Scenes and Segues
  • Navigating between scenes
  • Handling memory warnings

Module 5 - Understanding Table Views

  • Understanding Table Views
  • Static and Dynamic Table Views
  • Designing custom table cells
  • Handling delegate events in a table view
  • Introduction to Collection Views

Module 6 - Extending the User Interface

  • Autolayout
  • Size Classes
  • Dynamic Type
  • Working with the UI Controls
  • Dealing with Date/Time
  • Unwind Segues
  • Gesture Recognizers

Module 7 - Universal Adaptive Apps

  • Universal Apps
  • Using the Split View Controller with iPad and iPhone
  • Popover Presentation Controllers
  • Modal View Controllers

Module 8 - Working with local Data

  • Creating and accessing files
  • Storing user preferences
  • Storing data in the keychain
  • Storing and retrieving data from a SQLite database

Module 9 - Core Data

  • Configuring, accessing and querying Core Data
  • Adding, Updating and deleting Core Data
  • Core Data and iCloud

Module 10 - Asynchronous Programming

  • Making the UI more responsive with asynchronous queues
  • Dispatch Queues and Grand Central Dispatch
  • Operation Queues

Module 11 - Animation

  • Using animation to create compelling user interfaces
  • Basic UIView animations
  • Introduction to UIKit Dynamics

Module 12 - Accessing Cloud Services

  • Sending/Retrieving data from the Cloud
  • Processing JSON Data
  • Processing XML

Module 13 - Location Services and Notifications

  • Receiving and managing location notifications
  • Beacons
  • Using Notification Center to observe and publish notifications
  • Local and Push Notifications

Module 14 - Multitasking

  • Working with Background Mode
  • Using Background fetch

Module 15 - Profiling and Analysing code

  • Analyzing your code
  • Profiling your code

Training provider

Teaching mode: Classroom - Instructor Led
Duration: 5 days
Gooroo has partnered with the global leaders in IT training to give you access to quality training, personalised to you, targeted at increasing your job opportunities and salary.

Our pricing

We do not display pricing as Gooroo members qualify for special discounts not available elsewhere. You must enquire through Gooroo to get this benefit.

New courses are happening all the time

Our partner's expert training consultant will provide you with the times and all the details you need. Enquire today.

Top skills covered in this course

Swift
Worldwide
This skill has an average salary of
US$73,826
and is mentioned in
0.20%
of job ads.
JSON
Worldwide
This skill has an average salary of
US$100,455
and is mentioned in
0.34%
of job ads.
XML
Worldwide
This skill has an average salary of
US$92,890
and is mentioned in
0.51%
of job ads.
Database
Worldwide
This skill has an average salary of
US$75,010
and is mentioned in
5.75%
of job ads.