Есть способ заменить обычный текст в action:
в swift?Замена литеральной строки в действии:
Например UIBarButton
код:
var barButton = UIBarButtonItem(title: "H", style: .Plain, target: self.someTarget(), action:"someStringAction:")
Один из способов сделать это я считаю , но проблема в том, моя цель не NSStringFromSelector(Selector(someStringAction()))
self
.
Я могу создать метод в целевом классе для вызова метода выше и вернуть String
, но я не уверен, что это правильный способ сделать это.
Общая точка вопроса: Как избежать использования литеральных строк при вызове методов?
Не знаю, что вы пытаетесь сделать. Можете ли вы это прояснить? – Shuo
Я не хочу использовать строку для вызова метода. Typo может строить без предупреждения. Я хочу иметь ошибку во время сборки, когда метода там нет. – Kuba
Когда вы используете селектор, по дизайну не существует ошибки времени компиляции. Селектор очень динамический, который отправляется во время выполнения. – Shuo