Objective-C Feature Availability Index (original) (raw)

This article correlates features of the Objective-C language with the versions of Xcode and compiler you need to use them, and the OS versions you can use them with.

For more information about these modern Objective-C features, see Programming with Objective-C.

Feature Tools versions OS X deployment iOS deployment
Automatic Reference Counting (ARC) Xcode 4.2 (LLVM Compiler 3.0) Using modern runtime: Deploys back to OS X v10.7 Using legacy runtime: Deploys back to OS X v10.12 Deploys back to iOS 5
Automatic Reference Counting without zeroing weak reference (“ARCLite”) Xcode 4.2 (LLVM Compiler 3.0) Requires modern runtime Deploys back to OS X v10.6 Deploys back to iOS 4
@autoreleasepool blocks Xcode 4.2 (LLVM Compiler 3.0) Using ARC: Requires modern runtime and deploys back to OS X v10.6 Using MRR: All releases Using ARC: Deploys back to iOS 4 Using MRR: All releases
Default synthesis of @property instance variables and accessor methods Xcode 4.4 (LLVM Compiler 4.0) Requires modern runtime Deploys back to iOS 4
Instance variables in class extensions and @implementation block Xcode 4.2 (LLVM Compiler 3.0) Requires modern runtime All iOS releases
No forward method prototypes needed in @implementation block Xcode 4.3 (LLVM Compiler 3.1) All releases All iOS releases
NSNumber, NSDictionary and NSArray literals Xcode 4.4 (LLVM Compiler 4.0) All releases All iOS releases
@YES and @NO literals Xcode 4.4 and OS X 10.8 or later SDK Xcode 4.5 and iOS 6.0 or later SDK (LLVM Compiler 4.0) All releases All iOS releases
NSDictionary and NSArray subscripting Xcode 4.4 and OS X 10.8 or later SDK Xcode 4.5 and iOS 6.0 or later SDK (LLVM Compiler 4.0) Deploys back to OS X v10.6 Deploys back to iOS 5

“Requires modern runtime” implies 64-bit systems.