Comprehensive Study of Objective-C

$2,495.00


  • Classroom

  • Onsite
Duration: 5 Days

In this course, you will learn Objective-C and the iOS SDK by establishing the most important programming fundamentals. You'll become familiar with the Xcode Integrated Development Environment and gain a better understanding of the history of Objective-C by brushing-up on ANSI-C. You'll discover the compiler pipeline starting with the preprocessor and progressing through the linker. You will cover the fundamentals of ANSI C and Objective-C and get a solid background for learning iPhone and iPad development.

What You Will Learn

 

  • Work efficiently and creatively in Objective-C
  • Fundamentals of ANSI C programming
  • Object-oriented programming with Objective-C classes, objects, methods, messages, instance variables, and more
  • How Objective-C actually works to help you when you are trying to learn a new feature of Objective-C
  • Resolve a problem in the debugger

Audience

 

Programmers and non-programmers wanting to firmly establish fundamental programming theory and practice

Prerequistes

 

Some programming experience is recommended

Course Outline

 

Day 1

  • Creating, Understanding, and Compiling a Simple Program
  • Variable Basics
  • Objects
  • Instances and Methods
  • Creating a Class
  • @interface Section
  • @implementation Section
  • Program Section
  • Accessing Instance Variables and Data Encapsulation
  • Data Types and Constants
  • Arithmetic Expressions
  • Calculator Class
  • For Statement
  • While Statement
  • Do Statement
  • Break Statement
  • Continue Statement

Day 2

  • If Statement
  • Switch Statement
  • Boolean Variables
  • Conditional Operator
  • Separate Interface and Implementation Files
  • Synthesized Accessor Methods
  • Accessing Properties Using the Dot Operator
  • Multiple Arguments to Methods
  • Local Variables
  • Self Keyword
  • Allocating and Returning Objects from Methods
  • Inheritance
  • Extension Through Inheritance: Adding New Methods
  • Overriding Methods
  • Abstract Classes
  • Polymorphism
  • Dynamic Binding and the ID Type
  • Compile Time vs. Runtime Checking
  • ID Data Type and Static Typing
  • Asking Questions About Classes
  • Exception Handling Using @try

Day 3

  • Initializing Objects
  • Scope
  • Enumerated Data Types
  • Typeder Statement
  • Data Type Conversions
  • Bit Operators
  • Categories
  • Class Extensions
  • Protocols and Delegation
  • Composite Objects
  • The #define Statement
  • The #import Statement
  • Conditional Compilation
  • Arrays
  • Functions
  • Blocks
  • Structures
  • Pointers
  • Non-Objects
  • Miscellaneous Language Features

Day 4

  • Foundation Documentation
  • Objects
    • Number
    • String
    • Array
    • Dictionary
    • Set
  • Managing Files and Directories: NSFileManager
  • Working with Paths: NSPathUtilities.h
  • Basic File Operations: NSFileHandle
  • NSBundle Class
  • Automatic Garbage Collection
  • Manual Reference Counting
  • Event Loop and Memory Allocation
  • Summary of Manual Memory Rules
  • Automatic Reference Counting (ARC)
  • Strong Variables
  • Weak Variables
  • @autorelease Blocks
  • Method Names and Non-ARC Compiled Code

Day 5

  • Copy and MutableCopy Methods
  • Shallow vs. Deep Copying
  • Implementing Protocol
  • Copying Objects in Setter and Getter Methods
  • Archiving with XML Property Lists
  • Archiving with NSKeyed Archiver
  • Writing Encoding and Decoding Methods
  • Using NSData to Create Custom Archives
  • Using the Archiver to Copy Object
  • Framework Layers
  • Cocoa Touch
  • iOS SDK
  • iPhone Fraction Calculator

Course Labs

 

This course is designed as an effective combination between instructor-led demonstrations and supervised working labs. Practice exercises are designed to reinforce key concepts taught, to help you gain proficiency fast.