The iPhone OS debuted shortly before Leopard, and it was get-go Objective-C 2.0. Besides the lack of garbage collection on the iPhone, the main difference is that the Objective-C runtime on the iPhone is always up-to-date runtime, unlike the obsolete runtime for 32-bit Mac applications. ( See this Apple document .) One important result of this difference is that instance variables are not fragile (which means that when you change instance variables of a class, you do not need to recompile its subclasses), and it can synthesize variables for properties.
source
share