如何在iOS中声明全局变量之前进行可用性检查?
问题描述:
我需要检查我的应用程序中的iOS 10的可用性,然后声明中心变量。如何在iOS中声明全局变量之前进行可用性检查?
这是我的应用程序代表:
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate {
var center: UNUserNotificationCenter!
我不想@available属性来包围整个类 - 只有这个变量声明。
我知道你可以使用下面的代码检查可用性,但这是不允许的功能之外。
if #available(iOS 10, *) {
} else {
// not available
}
答
可用性检查不适用于存储性能,但它对于计算性能:
@available(iOS 10.0, *)
var center: UNUserNotificationCenter{
return UNUserNotificationCenter.current()
}
答
你可以这样说:
var center: UNUserNotificationCenter? {
if #available(iOS 10, *) {
return UNUserNotificationCenter.current()
} else {
return nil
}
}