Call us at 1-800-413-0939
Hands On Technology Transfer
gsa

iOS Programming Course

Attend face-to-face, remote-live, on-demand or on site at your facility.

On-Demand Training with Personal Facilitation
Top

iOS Programming for iPhone® and iPad® Applications Using Objective-C

Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training.

Pricing

Face-to-face or remote-live: $2495

On-demand: $1495

Discounts: We offer multiple discount options. Click here for more information.

Duration

Face-to-face or remote-live: 5 Days

On-demand: Approximately 35 hours of coursework with personal facilitation, to be completed in a four week span.

Registration

Face-to-face: Click here to view our schedules and register for in-person sessions.

Remote-live: Click here to register for live remote class sessions within a date range of your choosing.

On-demand: Click here to register for on-demand training with personal facilitation, on a start date of your choosing.

Students Will Learn

  • Downloading and installing Xcode from the Mac App Store
  • Objective-C Language syntax
  • Creating new projects using Xcode templates
  • Using if statements and switch statements to control the flow of applications
  • Designing applications using OOP principles
  • The difference between heap and stack memory and the uses for each
  • The ARC System
  • Creating new applications in Xcode using MVC application architecture
  • Creating full GUI applications
  • The Delegate code pattern
  • Using a navigation view to control the flow of an application
  • Using the Debug Console for exception handling
  • Using NeXTStep Objects
  • Developing interfaces for multiple platforms and resolutions
  • General iPhone and iPad development patterns and philosophies
  • Service Oriented Architecture concepts

Course Description

Participants in this hands-on Objective-C training course will learn about and gain practice developing iOS applications for iPhone and iPad devices. Attendees will learn all the basics needed for iOS development, from installation of the Xcode editor to the Apple approval process. The Objective-C language is presented and used in hands on exercises to learn how it interacts with the hardware systems.

In hands on exercises, students will use built-in data views as well as create custom screens for data entry and presentation. Students will learn to follow Apple's design recommendations to provide clean interfaces that appropriately size to various devices and screens.

The iOS programming course includes coverage of scheduled background execution to allow code to be run when the app isn't active and to schedule alerts to draw attention back to the app.

Comprehensive hands on exercises are integrated throughout to reinforce learning Objective-C and develop real competency. Students will create apps from the ground up, demonstrating the features of Objective-C and serving as an introduction to developing apps for release to the App Store.

Attendance of this course is only recommended if a student plans on working on an existing iOS application that already uses Objective-C as its coding language. Students planning to develop new iOS applications are recommended to instead take the Swift Programming for iPhone and iPad Applications course, since Swift is a more favored programming language for modern iOS applications and is easier to learn.

Course Prerequisites

Prior programming experience in an object-oriented language such as Java, C# or C++ is required to learn iOS programming.

Course Overview

Macintosh Orientation
  • Versions of iOS and Supported Devices
  • Overview of the New OS X
  • Command Line Interaction
  • Apple Approval Process
Objective-C
  • Fundamental Syntax
  • Object Oriented Programming Support
  • Using Dynamic Binding
  • Using ARC
  • Writing Code for Hardware Interaction
  • Data Types and Structs
  • Flow Control
  • Pointers, Heap and Stack
Xcode IDE Installation and Use
  • Installing and Updating Xcode
  • Code Development and Tracking
  • Debugging Utilities
  • Application Navigation Tools
NeXTStep Object Support
  • Using the NeXTStep Data Types
    • NSDate, NSPoint, NSSize, NSString
  • Using the NeXTStep Collection Objects
    • NSSet and NSMutableSet
    • NSArray and NSMutableArray
    • NSDictionary and NSMutableDictionary
MVC Architecture
  • Model-View-Controller Development Paradigm
  • Application Design Process
System Event Handling
  • Recognizing Apps Moving to Background
  • Detecting and Solving Low Memory Events
  • Handling Custom Events and Exceptions
SOA Application Design Overview
  • Service Oriented Architecture
  • Web Services Overview
  • Apple Push Notification Service (APNs)
Threading Support
  • Creating Threads
  • Using Threads for Asynchronous Processing
Dynamic Typing
  • Understanding the id Data Type
  • Analyzing Objects for Type Safety
  • Testing Objects for Function Support
Basic Design Patterns Used in iOS
  • Singleton Pattern
  • Lazy Instantiation
  • Protocol/Delegate Patterns
Custom View Design and Layout
  • Designing Views
  • Apple's UI Design Standards
  • Utilizing Controls
  • Custom View Transitions and Animations
Views and View Controllers
  • Using Generic Views and View Controllers
  • Using Specific Purpose Views
    • Text View
    • Web View
    • Map View
    • Table and Table Cell View
Blocks
  • Purpose and Syntax of Blocks
  • Block Animation Methods
  • Developing Multithreaded Blocks

iPad® and iPhone® are trademarks of Apple Inc., registered in the U.S. and other countries.

Reviews

The instructor did a great job providing theory and background of Objective-C along with relevant examples. Very knowledgeable and answered all questions clearly and thoroughly. Great presentation and teaching style. Highly recommend!
— S.H., Fidelity Investments


The course was extremely well run. This is one of the few courses I've ever taken where the workshops and exercises reinforced all of the material covered. I will be able to put this knowledge to immediate use at work.
— J.B., Harvard

Course Schedule

Choose a city below to view a schedule and registration options. If you have any questions, please call us at 978-250-4299 between 9:00 am - 5:00 pm EST.