Sto passando la sintassi del mio progetto verso Swift 2.2 (che xCode mi aiuta a fare automaticamente); tuttavia, non capisco la nuova sintassi #selector()
.Comprensione di Swift 2.2 Sintassi del selettore - #selector()
Per fare un esempio:
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self,
selector: #selector(MyVC.timerCalled(_:)), //new selector syntax!
userInfo: nil, repeats: true)
Questo è il selettore #selector(MyVC.timerCalled(_:))
Che cosa significa la _:
significare? Puoi aggiungere altre variabili in questo selettore? Dì, #MyVC.timerCalled(_:whateverVar)
.
Le informazioni generali su ciò che è diverso in questa sintassi rispetto all'implementazione basata su stringhe dalle versioni precedenti di Swift sono molto apprezzate.
Penso di spiegarlo bene qui: http://stackoverflow.com/questions/35658334/how-do-i-resolve-ambiguous-use-of-compile-error-with-swift-selector-syntax/35658335# 35658335 – matt
La risposta di @ matt indirizza la sintassi più a fondo, compresa un'utile discussione sull'affrontare i metodi sovraccaricati. – Stuart