Take your existing skills and quickly ramp up
into iPhone SDK Development
into iPhone SDK Development
In this intensive, two-day hands-on course, you'll learn to program iPhone applications using the iPhone SDK. You'll create several simple applications to explore the concepts and techniques of iPhone projects.
By the time you finish the course, you'll know the core tools (Xcode, Interface Builder and Instruments), the language (Objective-C), the framework (Cocoa Touch), explore design patterns of iPhone programming (like Memory Management and Delegation), understand what can (and should) be done with the UI, and learn tips, tricks and techniques of iPhone development.
Prerequisites
We don't expect you to have any Mac or iPhone development experience. However, you must:
- Be a developer. You must be able to program in a curly-brace language (like C, Java, C++ or C#) and be comfortable with variables, loops, statements, functions, and core concepts of programming and debugging. If you're new to programming, the iPhone is not the best place to start.
- Know the Mac. You must know your way around the Mac OS X operating system
Outline
Building a "simple" iPhone application
There's a tradition of creating a "Hello World" program when learning a new programming language. Usually, it's a simple exercise that explains a lot. But with the iPhone SDK, you're likely to have more questions than answers after doing it. Here's why.
Exploring the Tools
Introduction to Xcode. Introduction to Interface Builder. The iPhone Simulator. iPhone project types.
Objective-C and Object-Oriented Essentials
Quick history lesson. Differences between C and Objective-C. Creating a simple Objective-C project.
What problem does O-O solve? Classes and Objects. Functions and Methods. Messages in Objective-C. Using existing classes in Cocoa (NSString, NSArray). Writing your own classes. Creating objects. Using super classes. Defining properties. Navigating your source code. Using code sense. Using the built-in documentation. Compiling and running. Simple debugging.
Memory Management Essentials
Introduction: memory management is your problem. Understanding what happens when you create an object. Lifetime of objects. Understanding dealloc. How does reference counting work? Using retain and release calls. How to use autorelease pools.
iPhone Project Essentials
Back to the iPhone. Understanding the different iPhone project types. Creating a Window-based application. What are all the files for? Knowing what to ignore and what to edit. What is Model-View-Controller (MVC)? Using Interface Builder. What is a XIB? Adding controls. Understanding and connecting Outlets and Actions. Events and Delegation. Getting input from the user. Creating a default.png page. Creating an application icon.
Debugging your Application
Introduction to debugging. Creating breakpoints. Navigating your code. Using NSZombieEnabled.
Using UI Controls
Using buttons, image view, text field and segmented controls. Laying out interfaces in Interface Builder. Learning the available UI controls. Using and customizing the Picker. Data sources. Using and understanding the Apple UI Guidelines.
Creating Multiple View Applications
How (and why) to create an application with more than one view. Transitioning between views. Where does the data go?
Using Toolbars and Tab Bars
Understanding when to use a tool bar and when to use a Tab Bar. Tool bar concepts. Tab Bar concepts. Creating the images for a Tab Bar. Connecting the Tab Bar to the different views.
Using the Camera
UI model for using the camera. Writing code that checks for a camera. Accessing the built-in camera. Accessing the picture roll.
Accessing the Accelerometer
Accelerometer example and concepts. Switching views vs. affecting elements. Creating alternate views - when to autosize, when to create alternate views. Writing code to switch views. Writing code to affect elements in the view.
Saving and loading data
Quickly saving and exiting. Persisting information to the sandbox. Loading information from the sandbox. Detecting when application is exiting. Understanding Property Lists. Introduction to Core Data. Web Service calls.
Core Animation
Learn the basics of Core Animation. What can it do? When to use Core Animation vs. Open GL. Simple animation: moving and rotating. Transparency. Understanding performance hits and usability hits.
Finding your way forward
Where to go from here? Understanding the Apple documentation. Understanding and reading sample code. Deploying an application to the App Store.
Elements of this outline are subject to change.

Call 1-800-264-9029