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
- Dynamic Loading of application modules
- Performance monitoring
- Testing and debugging