Objective-C

Course Description

Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. It was the main programming language supported by Apple for the macOS, iOS and iPadOS operating systems, and their respective application programming interfaces (APIs) Cocoa and Cocoa Touch until the introduction of Swift.

You will learn

  • Design, create and develop Cocoa applications in Objective-C for the Macintosh using the Model-View-Controller (MVC) architecture
  • Effectively use auto releasing Macintosh memory
  • Develop and implement Objective-C classes that use accessors and mutators
  • Use class categories, introspection and protocols
  • USE CONTROL OUTLETS AND BINDINGS
  • Implement and control event responder chains

Course Outline

Unit 0: Introduction to Programming for Non-Programmers
  • Course Introduction
Unit 1: Setting Up
  • Downloading Xcode
  • Installing Xcode
  • Creating a First Application
  • Exercise: Creating First Application
Unit 2: Setting Up Demo
  • Demo: Tour of Xcode (shows how to create first app)
Unit 3: Basics of C
  • Coding Statements and Syntax
  • Code Formatting
  • Variables
  • Operators
  • Functions
  • Scope
  • Conditionals
  • Creating a First Program
  • Demo: Compiling and Running a First Program
  • Demo: Basics of C
Unit 4: Memory and Pointers – Part 1
  • Arrays
  • Loops
  • Text Strings
  • Multidimensional Arrays
  • Pointers
  • Dynamic Memory
  • Strings and Dynamic Memory
Unit 5: Memory and Pointers – Part 2
  • Arrays of Strings
  • Data Structures (structs)
  • Header Files
  • Demo: Working with an Address Book 10
  • Demo: Compiling and Running the Header File Test
  • Exercise: Working with Structures
Unit 6: Thinking in Objects
  • Structures and Classes
  • Accessors
  • Inheritance
  • Composition
  • Lifetime of Objects
  • Built-in Classes
  • Exercise: Thinking in Objects
  • Demo: Creating and Working with Objects
Unit 7: Basics of Objective-C
  • Working with NSStrings
  • Working with Methods
  • Working with Aceessors
  • Creating Objects
  • Basic Memory Management
  • Implementing a Class
  • Declaring Classes
  • Exercise: Building Basic Objective-C Classes
Unit 8: Basics of Objective C Demo
  • Demo: Creating and Working with the Photoinfo Class
Unit 9: More Objective-C Part 1
  • Memory Management
  • Class Name Prefixes
  • Class Properties
  • Objective-C on 64-Bit Systems
  • Class Categories
Unit 10: More Objective-C Part 2
  • Class Protocols
  • Dynamic Messaging
  • Class Exceptions
  • Class Introspection
  • Exercise: Advanced Objective-C Concepts
  • Demo: Working with the DataCollector Class, Arrays, Workspaces
Unit 11: Core Foundation Value Classes
  • Mutability in Core Foundation Value Classes/li>
  • NSString
  • NSNumber
  • NSData
  • NSArray
  • NSDictionary
  • NSDate
  • NSSet
  • NSValue
  • Exercise: Using Foundation Classes to Perform Localization
  • Demo: Working with Core Foundation Value Classes
Unit 12: Basic Controls – Part 1
  • Basic Controls – Overview
  • Windows and Views
  • Targets and Actions
  • Responder Chains
  • Demo: Creating Different Button Styles
  • Demo Target and Actions
Unit 13: Basic Controls – Part 2
  • More Targets and Actions
  • Outlets
  • Data Sources
  • Bindings
  • Exercise: Working with Basic Controls
  • Demo: Binding a Data Source
Unit 14: Designing Applications Using MVC – Part 1
  • What is the Model-View-Controller (MVC) Architecture?
  • Controller
    • Methods
    • Core Data Classes
  • Creating Project Files
  • Creating the Gallery and Entities
    • Add Attributes and Relationships
    • Frameworks
Unit 15: Designing Applications Using MVC – Part 2
  • Creating Project Files
    • Controllers
  • Creating the User Interface
  • Running the Application
  • Preparing for Release
  • Exercise: Designing Applications Using the Model –View
  • Controller Approach
  • Demo: Preparing Application for Release
Unit 16: Custom Views and Drawing Part 1
  • View and Drawing Frameworks
  • Basic Geametry
    • Creating shapes
    • Converting Geametry Structures to Strings
  • Demo: Converting Geametry Structures to Strings
Unit 17: Custom Views and Drawing Part 2
  • Basic Geometry
    • Converting Strings to Geometry Structures
    • Cocoa Coordinate System
    • Derived Rects
    • NSRect Comparison and Spatial Functions
  • Demo: Basic Geometry – Working with Rectangles
Unit 18: Custom Views and Drawing Part 3
  • Basic Drawing
  • Bezier Paths
  • Images
  • Shadows
  • Gradients
  • Refactoring View Code
  • Demo: Basic Drawing
  • Demo: Bezier Paths and Images
Unit 19: Custom Views and Drawing Part 4
  • Text Mouse Events
  • Keyboard Events
  • Exercise: Working with Custom Views and Drawing
  • Demo: Handling Images and Shadows

Schedule

No schedule yet, contact us for register, we will contact you when we have classes