Fundamentals of iOS Application Development

5 days

Select a date to register.

Note: This custom-designed class is created and owned by Future Media Concepts. It is not sponsored or authorized by Apple Inc.

Course Description

This course assumes a previous knowledge of Swift 2 programming. During the course, the student will build several projects with each teaching a different aspect of iOS programming and its related frameworks. There will also be a brief review of the Swift 2 programming language if needed. It will then go on to discuss the design of user interfaces, controllers, views, internationalization, animations and tables. From there the student will learn navigation techniques, the camera, storing and persisting data and web services.

Who Needs to Attend

Anyone who wants to build applications for iPhone, iPad or iPod touch. While not required, it would also be helpful to have your own iOS device (iPhone or iPad) and be a registered developer with Apple. Many of the features demonstrated in this course will not run in the Xcode simulator and must be tested on an actual iOS device. Also, for this course you will need an Intel-based Apple computer with Xcode installed. Xcode can be downloaded from the App Store free of charge and is approximately 2.5 GB large.

Prerequisites

The Introduction to Swift 2 course or an equivalent knowledge is mandatory to understanding the material presented in this course.

Course Outline

Note: The curricula below comprise activities typically covered in a class at this skill level. The instructor may, at his/her discretion, adjust the lesson plan to meet the needs of the class.

Day 1

Creating a Simple iOS Application

  • The Concept of a Model View Controller
  • Interface Builder
  • A Brief Introduction to Auto Layout
  • Outlets and Actions
  • Launch Screen
  • Icons

A Brief Review of Swift 2

  • Types
  • Xcode Playground
  • Initializers
  • Properties
  • Instance Methods
  • Optionals
  • Loops
  • String Interpolation
  • Enumerations
  • Switch Statements
  • Documentation

Views

  • The View Hierarchy
  • Frames
  • Auto Layout

Text

  • Dismissing the Keyboard
  • Delegation
  • Protocols

Day 2

View Controllers

  • MapKit Framework
  • UITabBarController
  • Loading Views
  • View Interaction

Programmatic Views

  • Creating Views Programmatically
  • Programmatic Controls

Localization

  • Internationalization

Animations

  • Animation Basics
  • Closures
  • Beginning and Ending an Animation
  • Timing

UITableView and UITableViewController

  • Creating a Data Source for a UITableView
  • UITableViewCells
  • Reusing Cells
  • Formatting Content

Editable Tables

  • Editing Mode
  • Inserting and Deleting Rows
  • Moving Rows
  • Alerts

Day 3

Subclassing UITableViewCell

  • Creating Item Cells
  • Properties of a Cell
  • Dynamic Cell Heights
  • Dynamic Types
  • Responding to Events

Stack Views

  • UIStackView
  • Segues
  • Linking Content

UINavigationController

  • Dynamic Views within the NavigationController
  • UINavigationBar

Camera

  • Images
  • UIImageView
  • UIImagePickerController
  • Saving Images
  • ImageStore
  • Creating and Using Keys

Day 4

Application States

  • Archiving
  • Application Sandbox
  • URLs
  • NSKeyedArchiver and NSKeyedUnarchiver
  • Application States and Transitions
  • Writing to the File System
  • Error Handling

Size Classes

Touch Events and UIResponder

  • Drawing with DrawView
  • Turning Touches into Lines
  • @IBInspectable

UIGestureRecognizer and UIMenuController

  • Detecting Taps
  • Multiple Gestures
  • UIMenuController
  • Long Gestures
  • Pan Gestures

Web Services

  • Building a URL
  • Sending a Request
  • NSURLSession
  • JSON Data
  • NSJSONSerialization
  • Parsing JSON data

Collection Views

  • Customized Layouts
  • Navigation

Day 5

Core Data

  • Entities
  • NSManagedObjects
  • Core Data Stack
  • NSPersistentStoreCoordinator
  • NSManagedObjectContext
  • Updating Data

Core Data Relationships

  • Parent-Child Contexts