Objective-C Programming Using Xcode 6


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 How To:

  • 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




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 :

  • C Programming Bootcamp Part 1
  • C Programming Bootcamp Part 2
  • Introduction to Java 7 and Object-Oriented Programming
  • Advanced Java 7 Programming




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

  • Control Flow


o if


o if else


o switch

  • Looping


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
  • 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
  • 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