In this 3-day course, developers will learn how to create high-quality iOS apps from start to finish.
As a result of attending this course, developers should be able to:
- Use the tools and APIs in the latest version of the iOS SDK
- Apply various techniques to work efficiently with Xcode, Objective-C, and Cocoa Touch
- Start building an iOS app from scratch, or maintain an existing iOS app
How to create high-quality iOS apps from scratch.
Objective-C Basics
Objective-C is the object-oriented programming language that you use to write iOS apps. While
this isn't a comprehensive course on Objective-C, you'll learn enough to jump right into iOS
development. Topics include:
- Classes, objects, and methods
- Properties
- Message sending
- Foundation classes: strings, arrays, and so on
Xcode 4.5
Xcode is the IDE used for iOS development, and it's been redesigned in Xcode 4.5. You'll learn
how to:
- Create and navigate iOS projects in Xcode
- Use Xcode and Interface Builder efficiently
- Use the Xcode debugger
Cocoa Touch
Cocoa Touch is a set of object-oriented libraries for creating apps that run on iOS devices. Cocoa
Touch is based on Cocoa, and embodies various object-oriented design patterns also used for
programming on the Mac. Understanding those patterns is essential to becoming a competent iOS
developer. You'll learn how to:
- Use the core classes in the Cocoa Touch framework
- Get the real benefit of the model-view-controller (MVC) design pattern
- Define delegates to "hook" your app-specific code into the Cocoa Touch framework
- Register and post notifications
Views and View Controllers
Views represent the user interface of your app, and all the dynamic aspects of a view are handled
by a view controller. View controllers are the hub of the model-view-controller (MVC) design. You'll
learn how to:
- Design views with Storyboards and Segues in Interface Builder
- Connect views to their view controllers with outlets
- Define actions to respond to control events, such as pressing a button
Table Views
Almost every iOS app has at least one table view to manage rows of tabular data. It's so common
that Apple provides a pre-built controller for tables. But using it effectively can be tricky. You'll
learn how to:
- Create a data source to populate a table
- Insert and delete table rows
- Organize data in table sections
Navigation and Tab Bar Controllers
Apple also provides a number of pre-built view controllers that serve as "containers" for your
controllers. Using (and understanding) these pre-built controllers will save you a ton of work. You'll
learn how to:
- Use navigation controllers to create hierarchical apps
- Use tab bar controllers to create multi-mode apps
Keyboard Input and Gestures
Well-designed iOS apps make effective use of the virtual keyboard and touch screen unique to iOS
devices. You'll learn how to:
- Configure a keyboard for an ideal user experience
- Create a delegate class to handle keyboard input
- Detect and respond to taps, swipes, and other gestures
Drawing and Animation
iOS devices have amazing support for custom graphics and animation. Advanced toolkits such as
OpenGL are beyond the scope of this course, but most apps don't need this complexity. Instead,
you can do a lot with the drawing and animation methods that are supported in all views. You'll
learn how to:
- Draw images and text dynamically
- Create basic view animations for better user feedback
- Use blocks syntax to clarify your code
Web Services
Extend the reach of your mobile app by learning how to communicate with remote web services.
You'll learn how to:
- Make asynchronous requests to a RESTful interface
- Use the JSON data returned in the response