2015-09-24 12 views
12

Swift 2.0, @available veya #available kullanarak kullanılabilirlik sağlar, ancak @available ve #available arasındaki fark nedir? Bütün yöntemler sınırlar kapalı@Mevcut ve #available arasında en hızlı 2.0 arasındaki fark

if #available(iOS 9, *) { 
    // use UIStackView for example 
} else { 
    // do something else 
} 

Ama ya, Ya da belki hatta tüm sınıfları:

cevap

16

Aşağıdaki gibi, küçük bloklar halinde sürüme özgü kod çalıştırmasına #available eğer kullanabilir? Swift 2, @available özniteliğini kullanarak da bu senaryoları kapsamaktadır.

@available(iOS 9, *) 
func useStackView() { 
    // use UIStackView for example 
} 

bilgi: Kısaca https://www.hackingwithswift.com/new-syntax-swift-2-availability-checking

+10

, '#available() '@available bir çalışma zamanı bir Boole geri çek ve' dır()' derleme zamanı uyarıları üreten bir yöntemdir/kullanıcının hedefi, işaretlediğiniz şeyin altındaysa ve "#available()" kontrolünü yapmıyorsa hatalar, ha? – nhgrif

+0

@nhgrif "#available() bir boolean döndürüyor". Not Yapabilirim: #evailable (...) {...} ancak şu gibi bir şey yapamıyorum: if! (# Available (...)) {...} – BangOperator