The Objective-C Programming Language
  • Author: Apple Inc
  • Format: online html, PDF
  • Price: free

The Objective-C language is a simple computer language designed to enable sophisticated object-oriented programming. Objective-C is defined as a small but powerful set of extensions to the standard ANSI C language. Its additions to C are mostly based on Smalltalk, one of the first object-oriented programming languages. Objective-C is designed to give C full object-oriented programming capabilities, and to do so in a simple and straightforward way.

This document both introduces the object-oriented model that Objective-C is based upon and fully documents the language. It concentrates on the Objective-C extensions to C, not on the C language itself.

Because this isn’t a document about C, it assumes some prior acquaintance with that language. However, it doesn’t have to be an extensive acquaintance. Object-oriented programming in Objective-C is sufficiently different from procedural programming in ANSI C that you won’t be hampered if you’re not an experienced C programmer.

Important Note: This document describes the version of the Objective-C language released in Mac OS X v10.6, which introduces the associative references feature.

Chapters include:

  • Introduction
  • Objects, Classes, and Messaging
  • Defining a Class
  • Allocating and Initializing Objects
  • Protocols
  • Declared Properties
  • Categories and Extensions
  • Associative References
  • Fast Enumeration
  • Enabling Static Behavior
  • Selectors
  • Exception Handling
  • Threading
  • Remote Messaging
  • Using C++ With Objective-C

Online HTML: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html

PDF: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ProgrammingWithObjectiveC.pdf