![](/style/images/good.png)
![](/style/images/bad.png)
Marking API Availability in Objective-C
source link: https://developer.apple.com/documentation/swift/marking-api-availability-in-objective-c
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Marking API Availability in Objective-C
a
macro to denote the availability of an Objective-C API.Overview
In Swift, you use the @available
attribute to control whether a declaration is available to use when building an app for a particular target platform. Similarly, you use the availability condition #available
to execute code conditionally based on required platform and version conditions. Both kinds of availability specifier are also available in Objective-C.
For detailed information about specifying platform availability, see Declaration Attributes in The Swift Programming Language.
Mark Availability
Use the API_AVAILABLE
macro to add availability information in Objective-C:
@interface MyViewController : UIViewController
- (void) newMethod API_AVAILABLE(ios(11), macosx(10.13));
@end
This is equivalent to using the @available
attribute on a declaration in Swift:
@available(iOS 11, macOS 10.13, *)
func newMethod() {
// Use iOS 11 APIs.
}
Check Availability
Use the @available()
keyword to check availability information in a conditional statement in Objective-C:
if (@available(iOS 11, *)) {
// Use iOS 11 APIs.
} else {
// Alternative code for earlier versions of iOS.
}
This is equivalent to the following conditional in Swift:
if #available(iOS 11, *) {
// Use iOS 11 APIs.
} else {
// Alternative code for earlier versions of iOS.
}
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK