Introduction to iOS

The Introduction to iOS course includes basics such as familiarization with iOS, X-Code and Objective-C, as well as practical topics like creating and using views, navigation, core-services, events and controllers, etc.


 

The topics below can be customized for each training and covered to various depths:

  • Overview
  • Lecture on concepts
  • Lecture on concepts and practice (coding)
  • Any of the above with appropriate lab

Intro iOS Programming Module Topics


Development Setup

  • Mac Only
  • XCode / DashCode
  • XCode and iOS versions
  • Simulator
  • Physical Device
  • Registering as an Official Developer
  • Beta testing setup


Documentation

  • Core Terminology
  • Navigating Apple Developer Documentation
    • iOS
    • XCode
    • Objective-C
    • Tutorials
    • Code Samples
  • Third Party documentation sources


X-Code

  • UI Overview
  • Creating new projects
  • Project types
  • Editors
  • Running and Debugging
  • Simulator


Objective C

  • Language Basics
  • Variables
  • Pointers
  • Memory
  • Arrays
  • Objects and Functions
  • Conditionals and Looping
  • Code Blocks


Desktop vs. Mobile Programming

  • OS-X
  • iOS


Cocoa Touch

  • Overview
  • UIKit
  • Frameworks
    • Data
    • Graphics & Animation
    • Audio & Media
    • Networking
  • Application Integration
    • Location
    • Address
    • Map
  • Collections


WebKit Framework

  • Access web content
  • Authentication
  • Cookies


Delegates, Controllers and Protocol

  • What is a protocol
  • Implementing a protocol
  • Delegate use in iOS apps


Core Services Frameworks

  • Foundation Framework
  • System Configuration Framework
  • CFNetwork Framework
  • Core Data
  • Core Location
  • Core Media


App Building Block Overview

  • Windows and Views
  • Navigation and View Controllers
  • Xib/Storyboard
  • Frameworks/APIs
  • Actions/Events
  • Storage


Model View Controller (MVC)

  • Pattern
  • Usage in iOS


Events

  • Event Types
  • UIEvent Objects
  • Touch and MultiTouch
  • Motion Events
  • First Responder
  • Delegation


Controllers

  • UIViewController
  • UITableViewController
  • UINavigationController
  • UITabBarController
  • UIPopoverController


Memory Management

  • Allocation / Deallocation
  • Reference Counting
  • Autorelease


User Interface Techniques

  • ViewController
  • Views
  • IBOutlet (link code to ui objects)
  • IBAction (link code to ui events)


User Interface Objects

  • Content Views (Table, Text, Web, Popover)
  • Status, Navigation and Tool Bars
  • Controls (Buttons, Labels, Text, Sliders, Indicators, Pickers)
  • Alert Dialogs


Navigation

  • Storyboard
  • Navigation Controller
  • Segues


Storyboards

  • Overview
  • Main Storyboard
  • Navigation Controller


Windows and Views

  • UIWindow
  • UIView
  • Event Distribution
  • View Hierarchy
  • Drawing


Notifications

  • What they are for
  • How they appear/work
  • Posting
  • Registering


Storage

  • File Storage (is this used on iPhone or mainly for Mac apps?)
  • Core Data
  • SQLite
  • Cross-App Data (contacts, photos, calendar, etc.)
  • Object Storage
  • iCloud


Multimedia

  • Playing Sounds and Alerts
  • Playing Video


App Design

  • UI Interface Guidelines
  • User Centric Design

Networking

  • CFNetwork Framework
  • HTTP
  • Authentication

Location

  • CoreLocation.framework
  • Locations
  • Getting Current Location
  • Displaying Maps
  • GeoCoding

Preferences

  • Overview
  • CFPreferences
  • Reading and Writing preferences
  • Displaying Preferences for user reference and edit

Enterprise Interfacing

  • WebServices
  • JSON

Packaging and Distribution

  • Packaging an application
  • Uploading to AppStore
  • Alternate forms of distribution

Additional Resources

  • Apple Resources
  • Third Party Resources
  • Forums
  • Books