Call Us: +32 2 466 00 16
Follow Us:

Building iOS Apps using Swift and Xcode

Training code

Upcoming sessions

This course is currently not scheduled

Subscribe to waiting list

iOS and the structure of an iOS App

The iOS platform enables radically different ways of using software. We will introduce iOS as platform for building mobile applications, and discuss the design patterns needed to create an application that conforms to the Apple User Interface Design guidelines.

  • Developing for iOS
  • Required development environment
  • The iOS SDK, the APIs and frameworks

Object-Oriented Programming in Swift with Xcode

iOS development is Object-Oriented development. In this chapter you will get an introduction to object-oriented programming with Swift and Xcode.

  • Introduction to Xcode
  • Building the UI with Interface Builder
  • Implementing your first Swift function
  • Object-Oriented programming in Swift
  • Creating projects, compiling, running and debugging with Xcode
  • Testing your code on the iOS Simulator

Reference Counting

Most modern programming languages use garbage collection for memory management. iOS however uses a different approuch, namely automatic reference counting. This is just as easy for developers but more efficient, especially for memory-thin mobile devices.

  • What is Reference Counting
  • Automatic Reference Counting
  • Handling low memory conditions
  • Discovering retain cycles with Instruments
  • Program Termination

Model - View - Controller

One of the most important concepts in iOS development is Model-View-Controller, also known as MVC. In this module you will gain insight in this pattern, and how to use it for building iOS applications with Xcode and Interface Builder

  • The Model-View-Controller pattern
  • Introduction to application delegates
  • Interface Builder outlets and actions
  • Working with storyboards

Autolayout and Device Orientation

iOS devices these days come with different screen sizes and can be held in portrait or landscape. Building a good layout for this has become a lot easier thanks to auto layout. In this chapter we will look at the different options and then focus on auto-layout, Apple's new constraint based system.

  • Specifying Orientation Support
  • Understanding AutoLayout's contraints
  • Creating Constraints using Interface Builder
  • Building an universal layout

Common Foundation Classes

In this module you will learn about the most important built-in types in iOS

  • The difference between immutable and mutable objects
  • Using Strings and Dates
  • Collection classes for arrays, sets and dictionaries.
  • Using higher order functions map, filter and reduce.
  • Fast Enumeration


Protocols add flexibility to program design by letting you type objects by behavior rather than by class. You will learn to define protocols and how a class can adopt a protocol by implementing all of the protocol’s required methods.

  • Using Protocols
  • Conforming to a Protocol
  • Revisiting the delegate pattern

Table Views

A table view presents a scrollable list of items that are often used for hierarchical navigation, probably the most important view in iOS.

  • Introduction to table views
  • Building a static table view with interface builder
  • Interacting with table views

Categories and Extensions

Objective-C Categories and Swift extensions allow us to add methods to existing classes without using inheritance, thus allowing you to add new methods to existing classes, even built-in classes.

  • Categories
  • Extensions

Building your own module

  • What are modules
  • Using the module in Swift

Internationalization and Localization

The iOS has a robust localization architecture that lets you easily translate your application into multiple languages.

  • Support for Internationalization
  • Localizing storyboards
  • Testing your localizations - the easy way

The course will teach you the basic skills you need to develop iPhone and iPad applications for iOS. Starting with modern Swift and Xcode you will build your first iPhone application on the first day! Then you will explore more features of iOS development and learn more as you go along. No need to bring an iPhone or iPad (although you can of course) since Xcode allows you to develop using the iOS emulator.

This course is intended for developers with Object-Oriented programming experience who want to develop native apps for Apple iPad and iPhone.

© 2019 U2U All rights reserved.