Let us help you find the training program you are looking for.

If you can't find what you are looking for, contact us, we'll help you find it. We have over 800 training programs to choose from.


Course Skill Level:


Course Duration:

5 day/s

  • Course Delivery Format:

    Live, instructor-led.

  • Course Category:

    Mobile Development

  • Course Code:


Who should attend & recommended skills:

Experienced programmers, system & web developers

Who should attend & recommended skills

  • Programmers seeking to become an iOS developer
  • System Web Developers
  • Programming: Basic (1-2 years’ experience)

About this course

In this course, you will learn how to program in iOS by building a restaurant reservation app called Let’s Eat. You will start off by exploring Xcode, Apple’s programming environment, also known as its Integrated Development Environment (IDE). Next, you will start learning the foundations of Swift, the programming language used in iOS apps, and see how it is used to accomplish common programming tasks.
Once you have a solid foundation of using Swift, you will start creating the visual aspects of the Let’s Eat app. During this process, you will work with storyboards and connect your app’s structure together using segues.
With your user interface complete, you will then add code to implement your app’s functionality. To display your data in a grid, you will use collection views, and to display your data in a list, you will use table views. Finally, it’s time to get real data; you will look at what an Application Programming Interface (API) is and how you can get actual restaurant data into your collection views, table views, and map.
You now have a complete app, but how about adding some bells and whistles? The first place where you can add a feature will be the restaurant detail page, where users can add restaurant reviews. Here, users will be able to take or choose a picture and apply a filter to their picture. They will also be able to give the restaurant a rating as well as a review. You will save this data using Core Data.
Once you have completed this training, you will have a really good idea of what it takes to program an application for iOS.

Skills acquired & topics covered

  • Getting Familiar with Xcode
  • Simple Values and Types
  • Conditionals and Optionals
  • Range Operators and Loops
  • Collection Types
  • Functions and Closures
  • Classes, Structures, and Enumerations
  • Protocols, Extensions, and Error Handling
  • Setting Up the Basic Structure
  • Building Your App Structure in Storyboard
  • Finishing Up Your App Structure in Storyboard
  • Modifying and Configuring Cells
  • Getting Started with MVC and Collection Views
  • Getting Data into Collection Views
  • Getting Started with Table Views
  • Getting Started with JSON Files
  • Displaying Data in a Static Table View
  • Getting Started with Custom UIControls
  • Understanding Core Data
  • Saving and Loading from Core Data

Course breakdown / modules

  • Technical requirements
  • Downloading and installing Xcode from the App Store
  • Understanding the Xcode user interface
  • Running the app in the Simulator
  • Using an iOS 13 device for development

  • Technical requirements
  • Understanding Swift playgrounds
  • Exploring data types
  • Exploring constants and variables
  • Understanding type inference and type safety
  • Exploring operators
  • Using the print() instruction

  • Technical requirements
  • Introducing conditionals
  • Introducing optionals

  • Technical requirements
  • Range operators
  • Loops

  • Technical requirements
  • Understanding arrays
  • Understanding dictionaries
  • Understanding sets

  • Technical requirements
  • Understanding functions
  • Understanding closures

  • Technical requirements
  • Understanding classes
  • Understanding structures
  • Understanding enumerations

  • Technical requirements
  • Understanding protocols
  • Understanding extensions
  • Exploring error handling

  • Technical requirements
  • Useful terms
  • Touring the Let’s Eat app
  • Creating a new Xcode project
  • Setting up a Tab Bar Controller Scene and Launch screen

  • Technical requirements
  • Adding a collection view to the Explore screen
  • Connecting outlets in storyboard to the view controller
  • Configuring data source methods for the collection view
  • Adding a Section header to the collection view
  • Creating a custom color
  • Configuring the collection view cell and Section header size
  • Presenting a view modally

  • Technical requirements
  • Adding a table view to the Locations screen
  • Implementing the Restaurant List screen
  • Implementing the Restaurant Detail screen
  • Implementing the Review Form screen

  • Technical requirements
  • Modifying the Explore screen Section header
  • Modifying the exploreCell collection view cell
  • Modifying the restaurantCell collection view cell

  • Technical requirements
  • Understanding the MVC design pattern
  • Exploring controllers and classes

  • Technical requirements
  • Understanding model objects
  • Displaying data in a collection view

  • Technical requirements
  • Understanding table views
  • Cleaning up the user interface

  • Technical requirements
  • Getting data from JSON files
  • Using data from JSON files in your app

  • Technical requirements
  • Setting up outlets for RestaurantDetailViewController
  • Displaying data in the static table view
  • Passing data from RestaurantListViewController to RestaurantDetailViewCont

  • Technical requirements
  • Creating a custom UIControl object
  • Displaying stars in your custom UIControl object
  • Adding support for touch events
  • Implementing an unwind method for the Cancel button
  • Creating ReviewFormViewController

  • Technical requirements
  • Introducing Core Data
  • Implementing Core Data components for your app
  • Creating ReviewDataManager

  • Technical requirements
  • Understanding how saving and loading works
  • Updating ReviewFormViewController to save reviews
  • Displaying saved reviews and photos on the Restaurant Detail screen
  • Calculating a restaurant’s overall rating