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.