面试题答案
一键面试- @available语法基本使用形式:
- 形式:
@available(<platforms> <version>, ..., unavailable, message = <string>)
- 参数含义:
<platforms>
:指定应用的平台,如iOS
、macOS
、watchOS
、tvOS
等。<version>
:指定该特性可用的最低版本号。unavailable
:表示该特性在此平台或版本下不可用。message = <string>
:当使用不可用特性时,编译器给出的提示信息。
- 形式:
- 示例:
if (@available(iOS 13.0, *)) {
// 使用iOS 13及以上的API
UISceneConfiguration *configuration = [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:UISceneSessionRoleApplication];
} else {
// 使用iOS 13以下的API
UIWindow *window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
}
在上述代码中,@available(iOS 13.0, *)
判断当前设备系统是否为iOS 13.0及以上,如果是则执行使用新API的代码块,否则执行使用旧API的代码块。*
表示其他平台(如在iOS代码中,其他平台可忽略)。