Objective-C Training for iOS Development Courseware
What’s included?
· Instruction by an expert facilitator
· Small interactive classes
· Specialized manual and course materials
· Personalized certificate of completion
· Snacks, Beverages and lunch at Itplanit
Duration: 4 Day(s)
TIME: 9am – 4pm.
Course Overview
This Objective-C training class teaches the fundamentals of programming in Objective-C, the language used to develop iPhone and iPad applications. This course covers Xcode, the integrated development environment used to build Objective-C applications. Primitive and reference variables are covered as well as arithmetic operators, conditional processing, looping, and functions. The object-oriented nature of the language is presented as well as the Foundation framework. An introduction to the Cocoa framework and a discussion of a basic user interface for mobile devices are included. We will use Xcode built-in iPhone and iPad simulators for the exercises and demonstrations in the course. In this way, students get a feel for how iPhone and iPad application development works and will be ready to move on to our iOS Application Development with Xcode 4 Training class.
Course Goals
· Learn how to use Xcode to develop Objective-C programs.
· Learn how to define primitive and reference variables.
· Understand the use of arithmetic operators.
· Know how to write conditional and looping statements.
· Learn how to write and call a function.
· Understand the object-oriented features of Objective-C.
· Learn how to create objects and methods.
· Understand important classes in the Foundation framework.
· Learn how to build a basic user interface using the Cocoa framework
Course Outline
1. Objective-C Overview
The Xcode IDE
I. Projects
II. Hello World Application
B. Objective-C
. Brief History
I. Role in Mobile Device Applications
2. Variables
. Numeric Variables
. Numeric Representations
I. Integers
II. Unsigned Integers
III. Floating Point
IV. Constants
V. Comments
A. Nonnumeric Variables
. char
I. boolean
B. Variable Scope
3. Arithmetic
. Arithmetic Operators
. Addition and Subtraction
I. Multiplication, Division, and Modulus
II. Shorthand Notation
A. Typecasting
B. Math Library Functions
. pow
I. arc4random
4. Conditional Logic and Looping
. Conditional Statements
. Basic if Statement
I. if else Statement
II. if else if Statement
III. switch Statement
IV. The Ternary Operator
A. Looping Statements
. while Statement
I. dowhile Statement
II. for Statement
5. Functions
. Purpose of a Function
A. Declaration
. Header
I. Body
B. Calling a Function
. Passing Parameters by Value
I. Passing Parameters by Reference
C. Functions vs. Methods
6. Object-oriented Programming According to Objective-C
. Object-Oriented Programming (OOP)
A. How Objective-C Implements OOP
B. Encapsulation of Member Variables
. The class definition: Interface
I. The Class Interface and @property
II. Method vs. Function Syntax
III. Static Variables and Class Methods
IV. The Class Implementation and @synthesize\
C. Creating an Object from a Class
. Sending Messages to Objects
I. The Role of Methods
D. Visibility of Variables
E. The Constants nil and NULL
F. Reference Variables
G. The * and & Operators
7. Inheritance
. Purpose of Inheritance
A. Implementing Inheritance
. The Root Class
I. Creating and Processing the Subclass
B. NSObject Class
C. Memory Acquisition
. alloc
I. init
D. Method Override
E. Where's Abstraction?
8. Polymorphism
. The Purpose of Polymorphism
A. Polymorphism in Objective-C
B. Placing Objects in Collections
. Using NSMutableArray
C. Runtime Identification of Objects
9. Arrays
. The "Classic" C Array
. Defining the Array
I. Processing the Array
A. Foundation Framework Arrays
. NSArray
I. NSMutableArray
10. Foundation Framework
. The Foundation Framework
. Strings
I. Date/Time
II. Numbers
III. Collections
A. NSString
. Replacing char*
I. Initialization
II. NSString Methods
B. NSNumber and NSNumberFormatter
. Replacing int, float, and more
I. Initialization
II. NSUInteger and NSInteger
III. Formatting
C. NSDate and NSDateFormatter
. NSDate
I. NSDateFormatter
11. Collections
. Arrays
. NSArray
I. NSMutableArray
A. Sets
. NSSet
I. NSMutableSet
II. How Duplicate Elements Are Detected: isEqual and hash
B. Dictionaries
. NSDictionary
I. NSMutableDictionary
12. Memory Considerations
. Memory Management in Objective-C
. Manual Retain-Release
I. Automatic Reference Counting
II. Garbage Collection
A. Strong and Weak
B. Release and Retain
C. Atomic and Nonatomic
D. Automatic Reference Counting
13. Cocoa Framework
. The Purpose of Cocoa
A. User Interfaces
. What Is a User Interface?
I. View Controllers
B. Using Interface Builder to Create User Interfaces
. The XIB File
I. IBAction and IBOutlet
II. Drag and Drop with the Connections Inspector
C. Creating a Simple Mobile Application
. Creating the Project
I. Adding Properties and Synthesized Methods
II. Building the User Interface
III. Testing the Application
Class Prerequisites
Experience in the following areas is required:
Basic computer experience.
Experience in the following areas would be beneficial:
· Some programming experience in any language.
· End-user experience with an iPod, iPhone, or iPad.