По большей части Swift является большим улучшением по сравнению с Objective-C с точки зрения безопасности типов. Одним вопиющим исключением являются селекторы. В Objective-C использование выражения @selector(notARealSelector:)
даст предупреждение компилятора. Эквивалент Swift, Selector("notARealSelector:")
всегда будет компилироваться, но будет работать во время выполнения.
Существует ли тип использования селекторов в Swift, поэтому я могу работать с API-интерфейсом Objective-C, который их требует?
У меня есть много наблюдателей NSNotification
в моем приложении, и я хочу, чтобы у меня была какая-то проверка времени компиляции, что я не делаю опечатки в своих селекторах.
Изменить: конкретный вариант использования NSNotificationCenter.addObserver
.