Hands-On Technology Transfer
presents
iOS Programming for iPhone® and iPad® Applications Using Objective-C (Canada) On-Site Training
Participants in this hands-on 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.
Course Description/Agenda 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 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 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.
Course Prerequisites: Prior programming experience in an
object-oriented language such as Java, C# or C++.
Follow-up Course: Advanced iOS Programming for iPhone® and
iPad® Applications Using Objective-C
What You Will Learn
- Installing and Configuring iOS Development Tools
- Objective-C Language Syntax
- MVC Architecture in Practice
- The ARC System
- Usage of the Most Common Views and View Controllers
- Service Oriented Architecture Concepts
- Storyboard Development for Multiple Platforms
- Using NeXTStep Objects
- Threaded Programming Support
- Developing Interfaces for Multiple Platforms and Resolutions
- General iPhone and iPad Development Patterns and Philosophies
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
|
|
|