Swift 2.0 consente il controllo della disponibilità utilizzando @available
o #available
, ma qual è la differenza tra l'utilizzo di @available
e #available
?Differenza tra @available e #available in swift 2.0
12
A
risposta
16
È possibile utilizzare se #available
per eseguire codice specifico per la versione in piccoli blocchi, come i seguenti:
if #available(iOS 9, *) {
// use UIStackView for example
} else {
// do something else
}
Ma cosa succede se i metodi integrali sono off limits, o forse anche intere classi? Swift 2 copre anche questi scenari, utilizzando l'attributo @available
.
@available(iOS 9, *)
func useStackView() {
// use UIStackView for example
}
Maggiori dettagli: https://www.hackingwithswift.com/new-syntax-swift-2-availability-checking
Problemi correlati
- 1. Negate istruzione #available
- 2. Putting -moz-available e -webkit-fill-disponibili in un'unica larghezza
- 3. Get Available Memoria RAM gratuita C#
- 4. Lo scopo di "Content-available" in Push Notification Json?
- 5. @available con le versioni iOS pre-disponibili - proprietà mancanti
- 6. Qual è l'equivalente mac di "/ etc/apache2/sites-available"?
- 7. Come utilizzare il carattere jolly nel comando Available di Ant
- 8. Differenza tra XCTAssert e assert in Swift
- 9. Differenza tra "precondizione" e "assert" in swift?
- 10. differenza tra awakeFromNib() e viewDidLoad() in swift
- 11. Differenza tra? e ! in Swift Language?
- 12. differenza tra HTTP 1.1 e HTTP 2.0
- 13. ATTENZIONE: il file ini del modulo non esiste in /etc/php/7.0/mods-available
- 14. UIView.animateWithDuration in Swift 2.0?
- 15. countForFetchRequest in Swift 2.0
- 16. Qual è la differenza tra SequenceType e CollectionType in swift?
- 17. Differenza tra blocco (obiettivo C) e chiusura (Swift) in ios
- 18. Lunghezza della stringa in Swift 1.2 e Swift 2.0
- 19. angolare 2.0 - Qual è la differenza tra @ViewQuery e @query
- 20. Qual è la differenza tra Lego Mindstorms 1.0 e 2.0
- 21. Differenza tra 2.0 e 2.0f (float esplicito vs doppie letterali)
- 22. Differenza tra OpenGL ES 2.0 e OpenGL 4
- 23. Differenza tra `% in%` e `` ==
- 24. Differenza tra IKVM.Reflection.Emit e Mono.Cecil
- 25. iOS 9, Swift 2.0, Xcode e testing
- 26. Swift 2.0 constraintsWithVisualFormat
- 27. Swift 2.0 substringwithrange
- 28. Differenza tra "" e "" in Python
- 29. Differenza tra $ @ e $! in perl
- 30. Differenza tra. e: in Lua
In breve, '#available()' è un controllo in fase di esecuzione che restituisce un valore booleano, e '@available()' è un modo per generare in fase di compilazione tempo avvertimenti/errori se il target dell'utente è inferiore a quello con cui lo contrassegni e non stanno facendo il controllo '#available()', eh? – nhgrif
@nhgrif "#available() restituisce un valore booleano". Nota che posso fare: if #available (...) {...} ma non posso fare qualcosa di simile: if! (# Disponibile (...)) {...} – BangOperator