2017-06-16 53 views
1

我需要检查我的应用程序中的iOS 10的可用性,然后声明中心变量。如何在iOS中声明全局变量之前进行可用性检查?

这是我的应用程序代表:

class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate { 

    var center: UNUserNotificationCenter! 

我不想@available属性来包围整个类 - 只有这个变量声明。

我知道你可以使用下面的代码检查可用性,但这是不允许的功能之外。

if #available(iOS 10, *) { 
} else { 
// not available 
} 

回答

1

可用性检查不适用于存储性能,但它对于计算性能:

@available(iOS 10.0, *) 
var center: UNUserNotificationCenter{ 
    return UNUserNotificationCenter.current() 
} 
2

你可以这样说:

var center: UNUserNotificationCenter? { 
     if #available(iOS 10, *) { 
      return UNUserNotificationCenter.current() 
     } else { 
      return nil 
     } 
    }