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

 

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 :

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

 

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

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