Przełączam składnię mojego projektu w kierunku Swift 2.2 (który xCode pomaga mi automatycznie); jednak nie rozumiem nowej składni #selector()
.Zrozumienie składni selektora języka Swift 2.2 - #selector()
Jako przykład:
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self,
selector: #selector(MyVC.timerCalled(_:)), //new selector syntax!
userInfo: nil, repeats: true)
ten selektor #selector(MyVC.timerCalled(_:))
Czego _:
oznaczać? Czy możesz dodać inne zmienne do tego selektora? Powiedz, #MyVC.timerCalled(_:whateverVar)
.
Ogólne informacje na temat tego, co różni się w tej składni w przeciwieństwie do implementacji opartej na ciągach z wcześniejszych wersji Swiftu są bardzo doceniane.
Myślę, że dobrze to wyjaśnię tutaj: http://stackoverflow.com/questions/35658334/how-do-i-resolve-ambiguous-use-of-compile-error-with-swift-selector-syntax/35658335# 35658335 – matt
@ matt's Odpowiedź dokładniej odnosi się do składni, w tym do użytecznej dyskusji na temat radzenia sobie z przeciążonymi metodami. – Stuart