EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

iOS Development Intermediate

Course outline

3 days

Duration

3 days

Overview

This course is the following to Basic iOS Development. It covers the creation of a reasonably complex iOS program. In the process, it covers table view, table view controller, editing table view, navigation controllers, camera, popover and modal view controllers, saving and loading, application states, subclassing table view cells and Core Data.

Program you will write:

Homepwner - An asset tracking program that is able to display its contents in a table, allows editing of the data in the table, able to take and display photos of your assets, and able to load and save data using Core Data.

Day 1

  • 1. UITableView and UITableViewController
  • - Beginning the Homepwner Application
  • - UITableViewController

-- Subclassing UITableViewController

  • - UITableView’s Data Source

-- Creating BNRItemStore

-- implementing data source methods

  • - UITableView Cells

-- Creating and retrieving UITableViewCells

-- Reusing UITableViewCells

  • - Code Snippet Library
  • - Bronze Challenge: Sections
  • - Silver Challenge: Constant Rows
  • - Gold Challenge: Customizing the Table
  • 2. Editing UITableView
  • - Editing Mode
  • - Adding Rows
  • - Deleting Rows
  • - Moving Rows
  • - Bronze Challenge: Renaming the Delete Button
  • - Silver Challenge: Preventing Reordering
  • - Gold Challenge: Really Preventing Reordering

Day 2

  • 3. UINavigation Controller
  • - UINavigationController
  • - An Additional UIView Controller
  • - Navigating with UINavigationController

-- Pushing view controllers

-- Passing data between view controllers

-- Appearing and disappearing views

  • - UINavigationBar
  • - Bronze Challenge: Displaying a Number Pad
  • - Silver Challenge: Dismissing a Number Pad
  • - Gold Challenge: Pushing More View Controllers
  • 4. Camera
  • - Displaying Images and UIImageView

-- Taking pictures and UIImagePickerController

-- Creating BNRImageStore

-- NSDictionary

-- Core Foundation and toll-free bridging

-- Wrapping up BNRImageStore

-- Dismissing the keyboard

  • - Bronze Challenge: Editing an image
  • - Silver Challenge: Removing an Image
  • - Gold Challenge: Camera Overlay
  • - For the more curious: Recording Video
  • 5. UIPopoverController and Modal View Controllers
  • - Universalizing Homepwner

-- Determining device family

  • - UIPopoverController
  • - More Modal View Controllers

-- Dismissing modal view controllers

-- Modal view controller styles

-- Completion blocks

-- Modal View controller transitions

  • - Bronze challenge: Universalizing Whereami
  • - Silver challenge: Peeling away the layers
  • - Gold challenge: Popover Appearance
  • - For the More Curious: View Controller Relationships

-- Parent-child relationships

-- Presenting-presenter relationships

-- Inter-family relationships

Day 3

  • 6. Saving, Loading and Application States
  • - Archiving
  • - Application Sandbox

-- Constructing a file path

  • - NSKeyedArchiver and NSKeyed Unarchiver
  • - Application States and Transitions
  • - Writing to filesystems with NSData
  • - More on Low-Memory Warnings
  • - Model-View-Controller-Store Design Pattern
  • - Bronze Challenge: PNG
  • - Silver Challenge: Archiving Whereami
  • - For the more curious: Application State Transitions
  • - For the more curious: Reading and Writing to the filesystem
  • - For the more curious: The Application Bundle
  • 7. Subclassing UITableViewCell
  • - Creating HomepwnerItemCell

-- Configuring a UITableViewCell subclass's interface

-- Exposing the properties of HomepwnerItemCell

-- Using HomepwnerItemCell

  • - Image Manipulation
  • - Relaying Actions from UITableViewCells

-- Adding pointers to cell subclass

-- Relaying the message to the controller

-- Objective-C selector magic

-- Presenting the image in a popover controller

  • - Bronze Challenge: Color Coding
  • - Silver Challenge: Cell Base Class
  • - Gold Challenge: Zooming
  • 8. Core Data
  • - Object-Relational Mapping
  • - Moving Homepwner to Core Data

-- the model file

-- NSManagedObject and subclasses

-- Updating BNRItemStore

-- Adding BNRAssetTypes to Homepwner

  • - More about SQL
  • - Trade-offs of Persistence Mechanisms
  • - Bronze Challenge: Assets on the iPad
  • - Siver Challenge: New Asset Types

Programme scope, delivery arrangements and suitability are confirmed during enquiry.