First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

Cocoa Touch Programming

Duration: 5 Days

Intended Audience

This course is aimed at those who have a good basic knowledge of Objective C programming and need to master the Cocoa Touch programming framework for implementing or maintaining iPhone and iPad applications.

Course Outline

  • Basic Concepts of Object-Oriented Analysis and Design
  • Overview of the iPhone Cocoa Touch framework architecture
  • Mastering the XCode IDE (Integrated Development Environment)
    • Creating and building projects
    • Running and debugging applications
    • Working with the class and documentation browsers
  • Intensive overview of ObjectiveC
    • Dynamic typing
    • Dynamic binding
    • Dynamic loading
  • The Runtime System
    • Dynamic method lookup
    • Resolution of unmatched selectors
    • Message forwarding
  • Dynamic Properties
    • Use of @property to declare accessor methods
    • Use of @synthesize to synthesize accessor methods
  • Categories and Protocols
  • Foundation Framework
    • Delegation
    • Key-value coding
    • Mutable subclasses
  • Files and URLs
    • Storage and retrieval of filesystems and web data
  • Memory Management
    • Reference counting
    • Garbage collection
    • Autorelease pools
  • Property lists and Key-Value pair coding idioms
  • Understanding object oriented patterns
    • Model View Controller pattern
    • Composite pattern
    • Visitor pattern
    • iPhone UIKit design pattern application
  • Table Views
    • UITableView
    • UITableViewController
    • Data source method idiom
    • Delegate method idiom
  • Navigation - patterns and idioms
    • iPhone navigation controller
    • iPhone tab bar controller
  • Touch Events
    • Patterns and idioms for handling user touch
  • Customisation of iPhone UI components
    • Core Graphics framework
    • Core Animation framework
    • Image display and manipulation
    • Animation design and implementation
  • Data persistence
    • Types of data store
    • Principles
    • Patterns and idioms
  • Memory Management
    • Retain counts
    • Autorelease pools
  • Processing accelerometer input
  • Integrating applications with Core Services such as
    • The Address Book
    • Maps
    • Safari
    • Mail
  • Dynamic Loading of application modules
  • Performance monitoring
  • Testing and debugging