July 2010
Beginner
416 pages
9h 51m
English
Apple provides two different versions of the Objective-C runtime: “legacy” and “modern.” The legacy version is used for 32-bit OS X programs and the modern version is used for iPhone applications and 64-bit applications running on OS X 10.5 or later. As of this writing (January 2010), the name “legacy” is slightly premature: The majority of existing desktop Mac applications are 32-bit programs.
From a programmer’s point of view, the primary difference between the two runtimes is how they store an object’s instance variables. The legacy runtime stores instance variables in what amounts to a C structure, and references instance variables by their offsets into the structure. The modern runtime uses a different scheme and ...