Duration
3 days
Overview
This is an intermediate course from iOS Application Development - Introduction. During this course, you will create a reasonably complex iOS program. In the process, it covers storyboards, table view table view controller, editing table view, navigation controllers, camera, auto layout, gesture recognisers, push view controllers and modal view controllers. You will also learn how to use unit tests and debugging tools.
Course Prerequisites
Knowledge of a programming language is required. It is recommended for participants to go for the iOS Application Development - Introduction course prior to attending this course.
Day 1
Getting Started
Get the tools
Learn the essentials of Swift
Differentiate between a constant and a variable
Know when to use implicit and when to use explicit type declarations
Understand the advantage of using optionals and optional binding
Differentiate between optionals and implicitly unwrapped optionals
Understand the purpose of conditional statements and loops
Use switch statements for conditional branching beyond a binary condition
Use where clauses to impose additional constraints in conditional statements
Differentiate between functions, methods, and initializers
Differentiate between classes, structures, and enumerations
Understand syntax for (and basic concepts behind) inheritance and protocol conformance
Determine implicit types and find additional information using Xcode’s quick help shortcut (Option-click)
Import and use UIKit
Build a basic UI
Create a project in Xcode
Identify the function of key files that are created with an Xcode project template
Open and switch between files in a project
Run an app in Simulator
Add, move, and resize UI elements in a storyboard
Edit the attributes of UI elements in a storyboard using the Attributes inspector
View and rearrange UI elements using the outline view
Preview a storyboard UI using the Preview assistant editor
Lay out a UI that automatically adapts to the user’s device size using Auto Layout
Connect the UI to code
Explain the relationship between a scene in a storyboard and the underlying view controller
Create outlet and action connections between UI elements in a storyboard and source code
Process user input from a text field and display the result in the UI
Make a class conform to a protocol
Understand the delegation pattern
Follow the target-action pattern when designing app architecture
Day 2
Work with View Controllers
Understand the view controller life cycle and when its callbacks occurs, such as viewDidLoad, viewWillAppear and viewDidAppear
Pass data between view controllers
Dismiss a view controller
Use gesture recognizers as an additional level of generating events
Anticipate object behavior based on the UIView/UIControl class hierarchy
Use the asset catalog to add image assets to a project
Implement a Custom Control
Create and associate custom source code files with elements in a storyboard
Define a custom class
Implement an initializer on a custom class
Use UIView as a container
Understand how to display views programmatically
Define your data model
Create a data model
Write failable initializers on a custom class
Demonstrate a conceptual understanding of the difference between failable and nonfailable initializers
Test a data model by writing and running unit tests
Day 3
Create a table view
Understand the key components of a table view
Create and design a custom table view cell
Understand the roles of table view delegates and data sources
Use an array to store and work with data
Display dynamic data in a table view
Implement Navigation
Embed an existing view controller within a navigation controller in a storyboard
Create segues between view controllers
Edit the attributes of a segue in a storyboard using the
Attributes inspector
Pass data between view controllers using the prepareForSegue(_:sender:) method
Perform an unwind segue
Use stack views to create robust, flexible layouts
Implement Edit and Delete behaviour
Differentiate between push and modal navigation
Dismiss view controllers based on their presentation style
Understand when to use different type cast operators for downcasting
Leverage optional binding to check for complex conditions
Use segue identifiers to determine which segue is occurring
Persist Data
Create a structure
Understand the difference between static properties and instance properties
Use the NSCoding protocol to read and write data
Submitting your App to the App Store
Create an Apple Developer account
Create Developer Certificates
Create your app’s App ID
Register your device
Create profiles
Create an icon for your app
How to take screenshots of your App
Uploading your App to the App Store
Programme scope, delivery arrangements and suitability are confirmed during enquiry.