Course Description
Fully updated for Apple’s Xcode 6, this course is aimed at software developers who want to learn how to program in Modern Objective-C 2.0, the programing language used to write programs for Apple’s Mac OS X (used on Macbook and Macbook Pro) and Apple’s iOS (used on iPhone and iPad). Using Xcode and the iPhone/iPad Simulator, all features of the Objective-C programming language are covered in detail, including all object-oriented features of the language. In addition, the Foundation Framework, a key part of Objective-C programming, is covered, including how to handle Strings, Numbers, Dates, and Files. At the end of this course, you will have the skills required to take the iOS Programming course.
In This Course You Will Learn:
- Startup and use Xcode 6 to write Objective-C programs
- Write Objective-C programs that display text output on the iPhone/iPad Simulator
- Write Objective-C using the proper language syntax
- Use the Foundation Framework to help write Objective-C programs
- Use Objective-C data types
- Create Objective-C Classes, Properties and Methods
- Extend Objective-C by using Inheritance, Categories, and Protocols
- Read/Write Files
Prerequisites
This course assumes you have experience with a programming language such as C, C++, C#, Java, or similar computer language, or have taken courses below from GogoTraining:
Outline
Module 00: Course Introduction
Module 01: Introduction to Objective-C
- Why Learn Objective-C Programming
- What You Need to Learn Objective-C Programming
- Objective-C History Lesson
- Objective-C is superset of ANSI C Language
- Objective-C uses the Foundation Framework
- Objective-C adds OOP to the ANSI C Language
Module 02: Introduction to Xcode
- About Xcode
- Install Xcode
- Startup Xcode
- Run your app with Xcode
- Stop your app with Xcode
- Demo: Tour of Xcode
- Lab Exercise: Tour of Xcode
Module 03: Introduction to C
- Using Xcode to Create Mac OS X Program
- Command-Line Tool
- C Language (main.c)
- #include
- main() Function
- printf() Function
- return 0
- Demo: Create, Build and Run CtoObjC as OS X Console Application
- Lab Exercise: Create, Build and Run CtoObjC as OS X Console Application
Module 04: Objective-C Primitive Data Types
- BOOL - YES or NO
- char, short, int, long
- float, double
- struct
Module 05: Objective-C Control Flow and Looping
o if
o if else
o switch
o for
o while
o do
Module 06: Object-Oriented Programming – OOP
- Objective-C and OOP
- Object Literals
- NSObject
- Create NSObject
- Display Description of NSObject
- Xcode Quick Help
- Demo: Working with NSObject
- Lab Exercise: Working with NSObject
Module 07: C to Objective-C
- Converting a C-Program to an Objective-C Program
- Using the Foundation Framework fora large set of Application Programming Interfaces (APIs)
- Adding Foundation Framework
- Using Foundation Framework
- Demo: Converting a C-Program to an Objective-C Program
Module 08: Foundation Framework
- Importance of Foundation Framework
- NSObject
- NSString
- NSDate and NSDateFormatter
- NSNumber
- Demo: Using Foundation Framework
- Lab Exercise: Using Foundation Framework
Module 09: Read TextFile from Bundle
- Create readme.txt in Bundle
- NSURL
- NSBundle
- Demo: Reading a Textfile from a Bundle
- Lab Exercise: Reading a Textfile from a Bundle
Module 10: Read Property List from Bundle
- Create Property List
- NSURL
- NSBundle
- NSArray
- Demo: Using Property Lists
- Lab Exercise: Using Property Lists
Module 11: Write/Read Key/Value Pair
- #define to define constant values
- NSUserDefaults - Reading
- NSUserDefaults – Writing
- Demo: Using NSUserDefaults
- Lab Exercise; Using NSUserDefaults
Module 12: Write/Read Files in Sandbox
- NSHomeDirectory()
- stringByAppendingPathComponent:
- writeToFile:atomically:encoding:error:
- stringWithContentsOfFile:encoding:
- Demo: File I/O
- Lab Exercise: File I/O
Module 13: Creating Classes
- Using NSObject
- Demo: Create a new Xcode project
- Demo: using NSObject
- Create Class With Inheritance
- Student.h
- Student.m
- Using Student ClassDemo
- Demo: Creating Student Class
Module 14: Properties
- About Properties
- @property Keyword
- Declaring Properties
- Using Properties
- Demo: Adding and Using Properties
- Lab Exercise: Adding and Using Properties
Module 15: Methods
- About Methods
- Class Methods (+)
- Instance Methods (-)
- Demo: Adding and Using Methods
- Lab Exercise: Adding and Using Methods
Module 16: Initializing Classes
- Initializers
- Designated Initializer
- Student and BandStudent
- Demo: Initializing Classes
- Lab Exercise: Initializing Classes
Module 17: Categories
- About Categories
- Creating Categories
- Using Categories
- Demo: Using Categories
- LAB Exercise: Using Categories
Module 18: Objective-C Protocols
- About Protocols
- Defining Protocols
- Using Protocols
- Demo: Using Protocols
- Lab Exercise; Using Protocols
Module 19: Delayed Execution
- sleep()
- performSelectorWithObject:afterDelay:
- NSTimer
- Demo: Delayed Execution
- Lab Exercise: Delayed Execution
Module 20: Blocks and Grand Central Dispatch
- Objective-C Blocks
- Using Blocks
- Grand Central Dispatch (GCD)
- Using GCD