Course Description
Objective-C is the language of choice for creating rich, responsive applications for Mac OS X, the iPhone and the iPod Touch. The Objective-C course will teach you how to create dynamic applications that conform to Apple's Human Interface Guidelines and Model-View-Controller (MVC) best practices for design. You will learn the foundations of the Xcode development environment and the Cocoa programming framework. You will use Cocoa to create applications in the same way that Mac OS X itself is created. Much of Cocoa is implemented in Objective-C, a superset of C, so you will be able to draw upon your existing C or C++ background. This course features Objective C 2.0.
In This Course You Will Learn:
As a result of taking this course, you will be able to:
-
Design, create and develop Cocoa applications in Objective-C for the Macintosh using the Model-View-Controller (MVC) architecture
-
Effectively use autoreleasing Macintosh memory
-
Develop and implement Objective-C classes that use accessors and mutators
-
Use class categories, introspection and protocols
-
Use control outlets and bindings
-
Implement and control event responder chains
Prerequisites
You need to have one year of ANSI C programming background, including a basic knowledge of pointers, functions and arrays. Prior Object-Oriented programming experience is also helpful but not necessary. If you do not have this experience, we recommend the following GogoTraining courses:
While not required, it is helpful to have familiarity with Xcode, a graphical interface for Apple. Click on the link below for a tutorial.
Outline
Module 00: Course Introduction
Module 01: Setting Up
-
Downloading Xcode
-
Installing Xcode
-
Creating a First Application
-
Exercise: Creating First Application
Module 02: Setting Up Demo
-
Demo: Tour of Xcode (shows how to create first app)
Module 03: Basics of C
-
Coding Statements and Syntax
-
Code Formatting
-
Variables
-
Operators
-
Functions
-
Scope
-
Conditionals
-
Creating a First Program
-
Demo: Compiling and Running a First Program
-
Demo: Basics of C
Module 04: Memory and Pointers - Part 1
-
Arrays
-
Loops
-
Text Strings
-
Multidimensional Arrays
-
Pointers
-
Dynamic Memory
-
Strings and Dynamic Memory
Module 05: Memory and Pointers - Part 2
-
Arrays of Strings
-
Data Structures (structs)
-
Header Files
-
Demo: Working with an Address Book 10
-
Demo: Compiling and Running the Header File Test
-
Exercise: Working with Structures
Module 06: Thinking in Objects
-
Structures and Classes
-
Accessors
-
Inheritance
-
Composition
-
Lifetime of Objects
-
Built-in Classes
-
Exercise: Thinking in Objects
-
Demo: Creating and Working with Objects
Module 07: Basics of Objective-C
-
Working with NSStrings
-
Working with Methods
-
Working with Accessors
-
Creating Objects
-
Basic Memory Management
-
Implementing a Class
-
Declaring Classes
-
Exercise: Building Basic Objective-C Classes
Module 08: Basics of Objective-C Demo
-
Demo: Creating and Working with the PhotoInfo Class
Module 09: More Objective-C Part 1
-
Memory Management
-
Class Name Prefixes
-
Class Properties
-
Objective-C on 64-Bit Systems
-
Class Categories
Module 10: More Objective-C Part 2
-
Class Protocols
-
Dynamic Messaging
-
Class Exceptions
-
Class Introspection
-
Exercise: Advanced Objective-C Concepts
-
Demo: Working with the DataCollector Class, Arrays, Workspaces
Module 11: Core Foundation Value Classes
-
Mutability in Core Foundation Value Classes
-
NSString
-
NSNumber
-
NSData
-
NSArray
-
NSDictionary
-
NSDate
-
NSSet
-
NSValue
-
Exercise: Using Foundation Classes to Perform Localization
-
Demo: Working with Core Foundation Value Classes
Module 12: Basic Controls - Part 1
-
Basic Controls - Overview
-
Windows and Views
-
Targets and Actions
-
Responder Chains
-
Demo: Creating Different Button Styles
-
Demo: Target and Actions
Module 13: Basic Controls - Part 2
-
More Targets and Actions
-
Outlets
-
Data Sources
-
Bindings
-
Exercise: Working with Basic Controls
-
Demo: Binding a Data Source
Module 14: Designing Applications Using MVC - Part 1
-
What is the Model-View-Controller (MVC) Architecture?
-
o Controller
o Methods
o Core Data Classes
-
Creating Project Files
-
o Creating the Gallery and Entities
o Add Attributes and Relationships
o Frameworks
Module 15: Designing Applications Using MVC - Part 2
-
Creating Project Files
-
o Controllers
-
Creating the User Interface
-
Running the Application
-
Preparing for Release
-
Exercise: Designing Applications Using the Model -View Controller Approach
-
Demo: Preparing Application for Release
Module 16: Custom Views and Drawing Part 1
-
View and Drawing Frameworks
-
Basic Geometry
-
o Creating shapes
o Converting Geometry Structures to Strings
-
Demo: Converting Geometry Structures to Strings
Module 17: Custom Views and Drawing Part 2
-
Basic Geometry
-
o Converting Strings to Geometry Structures
o Cocoa Coordinate System
o Derived Rects
o NSRect Comparison and Spatial Functions
-
Demo: Basic Geometry - Working with Rectangles
Module 18: Custom Views and Drawing Part 3
-
Basic Drawing
-
Bezier Paths
-
Images
-
Shadows
-
Gradients
-
Refactoring View Code
-
Demo: Basic Drawing
-
Demo: Bezier Paths and Images
Module 19: Custom Views and Drawing Part 4
-
Text
-
Mouse Events
-
Keyboard Events
-
Exercise: Working with Custom Views and Drawing
-
Demo: Handling Images and Shadows