swift 2.0中@available和#available之间的差异
Swift 2.0允许通过使用swift 2.0中@available和#available之间的差异,swift,Swift,Swift 2.0允许通过使用@available或#available进行可用性检查,但是使用@available和#available之间有什么区别呢?您可以使用if#available以小块方式运行特定于版本的代码,如下所示: if #available(iOS 9, *) { // use UIStackView for example } else { // do something else } 但是,如果整个方法是禁止的,或者甚至是整个类呢?Swift 2使用@a
@available
或#available
进行可用性检查,但是使用@available
和#available
之间有什么区别呢?您可以使用if#available
以小块方式运行特定于版本的代码,如下所示:
if #available(iOS 9, *) {
// use UIStackView for example
} else {
// do something else
}
但是,如果整个方法是禁止的,或者甚至是整个类呢?Swift 2使用@available
属性也涵盖了这些场景
@available(iOS 9, *)
func useStackView() {
// use UIStackView for example
}
更多详细信息:简而言之,#available()
是一种运行时检查,返回布尔值;@available()
是一种生成编译时警告/错误的方法,如果用户的目标低于您标记的值,并且他们没有使#available()
检查,呃?@nhgrif“#available()返回布尔值”。注意:我可以做:if#available(…){…},但我不能做像:if!(#可用(…){…}