BeginningiOS (iPhone/iPad)
If you're a novice developer who wants to write applications that run on the iPhone or iPad, you should attend the Beginning iOS Bootcamp.
The first two days of the course are devoted to learning Objective-C, followed by our five-day iOS Bootcamp. In 7 challenging days, Beginning iOS Bootcamp will take you from complete novice to being able to build your first iPhone application. In addition, you'll become an active participant in the iPhone programming community, allowing you to continue learning upon completion of the class.
After an introduction to the Objective-C language and the Foundation framework, we delve into the toolchain and the classes that make up the iPhone UI framework. We deal with drawing using Core Graphics, Core Animation, and OpenGL. We also discuss issues in the multi-touch event handling.
We can teach this course at your company site. We have taught it for Cisco, AT+T, SAS, and other smaller companies.
Upcoming Classes
What You’ll Learn
Upon completion of Beginning iOS (iPhone/iPad), the student will be able to:
Objective-C
- Understand classes, objects, and methods
- Write a first program in Objective-C
- Use basic control constructs for looping, decision-making, etc.
- Define classes and write instance and class methods
- Use inheritance
- Take advantage of polymorphism and dynamic typing
- Work with the preprocessor
- Utilize underlying C features
- Use the basic Foundation classes (numbers, arrays, dictionaries, sets, etc.)
- Retain and release objects correctly to prevent memory leaks
- Demonstrate fluency in Objective-C
iOS (iPhone/iPad) Bootcamp
- Set up elegant user interfaces easily
- Set up text input fields on the iPhone and move the virtual keyboard onto the screen
- Create iPhone applications that use Core Location (GPS, Cell Tower Triangulation, Wifi Access Point Location) to pinpoint a user's location
- Localize applications for international use
- Swap out different interfaces (windows) with animation
- Display data in tables
- Create applications that can record audio and play short sounds and full audio files
- Store data as files or SQLite databases
- Handle warnings from the phone so applications don't get shut down
- Handle touch and complex multi-touch sequences
- Draw with Core Graphics
- Animate user interfaces with Core Animation
- Create an application that can access the user's photos or use the camera to take new photos for use within the application
- Use the accelerometer to detect changes in the device's orientation
- Pull data from a web service for use in an application
- Create applications that access and modify the user's Address Book through a standard or customized interface
- Maintain a preference file for an application
- Use Instruments to profile an application
Beginning iOS (iPhone/iPad) Syllabus
| Objective-C |
Click to Hide |
| Why am I here? |
An introduction to the instructor, Objective-C, and the course contents. |
| Classes, Objects, and Methods |
A brief introduction to the concepts of OOP programming. |
| Get started |
Write a first program in Objective-C. Define a simple class. |
| Data types and expressions |
Understand the basic data types and how to write expressions. |
| Loops |
How to use basic language statements for program looping. |
| Decisions |
Understand the basic decision-making constructs in the language. |
| More on Classes |
Using separate interface and implementation files. Multiple arguments to methods. Local variables. |
| Inheritance |
The root. Extension through inheritance. Overriding methods. |
| Polymorphism, Dynamic Typing, and Dynamic Binding |
The id type. Static vs. dynamic typing. Ask questions about classes |
| More on Variables and Data Types |
Initializing classes. Variable scope. Storage class specifiers. Enumerated data types. Data type conversion. |
| Categories and Protocols |
Add a category to a class. Formal vs. informal protocols. Posing. |
| The preprocessor |
Define macros. Conditional compilation. |
| Underlying C Features |
Learn about arrays, structures, functions, and pointers. |
| Foundation Classes |
How to use basic foundation classes, including numbers, arrays, dictionaries, and sets. |
| Introduction to Memory Management |
Understand the autorelease pool. Write leak-free programs. |
| iOS (iPhone/iPad) |
Click to Hide |
| The Tools |
Using Xcode and the iPhone Simulator
|
| Simple iPhone App |
Develop a simple IPhone app using some classes from the UI Kit
|
| Objective-C |
Learn the language used in all iPhone development
|
| Memory Management |
Use the reference counting mechanism correctly to prevent memory leaks |
| Text |
Displaying text and getting input from the keyboard
|
| Custom UIView Subclasses |
Subclass UIView for custom drawing and event handling |
| Core Graphics |
Drawing with Quartz
|
| Events |
Dealing with Multi-touch events
|
| Delegates |
Using the delegate design pattern
|
| Table View |
Creating custom table view cells
|
| The Accelerometer |
Using the accelerometer for input. Also, dealing with orientation.
|
| Notifications and Rotation |
Use the notification design pattern to receive notifications of orientation change. Also covered: Autorotation |
| CALayer |
Making graphics move with Core Animation
|
| CAAnimation |
Using CAAnimation to drive change over time, especially common for animated effects. |
| Toolbars and View Controllers |
Create applications with more than one view
|
| Navigation Controller |
How to use UINavigationController to create complex applications |
| Key-Value Coding and Observing |
Using and customizing the KVC and KVO mechanism.
|
| Archiving and Unarchiving |
Using NSCoder for data persistence |
| Web Services |
Using NSURL and NSURLConnection to access web services
|
| The Camera |
Accessing the camera and using the Image Picker
|
| Low-memory Warnings |
How to deal with low-memory warnings |
| Categories |
Add methods to existing classes
|
| Address Book |
Getting and creating contacts
|
| Sound and Video |
Playing sound and video
|
| Core Location and Map Kit |
Use Location services to find your location |
| Localization |
Making international iPhone apps
|
| SQLite |
Storing data in a SQLite file
|
| Bonjour |
Publishing services and browsing for services on the network |
| Preferences |
Letting the user store preferences for your application
|
| Instruments |
Using Instruments to locate performance problems and memory leaks
|
Requirements
Without prior experience in either a procedural programming language (such as C, Pascal, VB, or PHP) or another object-oriented platform (such as Java or C#) this class may prove to be extremely challenging.
Reviews
For information or to enroll in a class in North America: (404) 478-9005
For information or to enroll in a class in Europe: +49 (9333) 903 901
For information or to enroll in a class in Asia Pacific: (404) 478-9005