Вы не .
Вы можете использовать button.tag
и установить для него 1 (или любое другое значение Int
).
let button = UIButton()
button.tag = 1
button.addTarget(self, action: #selector(acceptBiometrics(_ :)), for: .touchUpInside)
Затем в вашем обработчике:
@objc func acceptBiometrics(_ sender : UIButton) {
print(sender.tag)
}
Примечания:
Атрибут tag
является переменной Int
, так что если вам нужны другие Type
Вы должны создать пользовательский UIButton
только с новой переменной.
Значение по умолчанию tag
равно 0, что означает, что если 0 является возможным значением в вашей логике, вам также следует использовать подход с использованием пользовательских компонентов.
Как указывал @matt, "aселектор - это имя метода, а не вызов метода ".
Как указал @Sulthan," Подклассы - это реальное решение ".
Подкласс будет выглядеть так:
class ButtonWithValue : UIButton {
var value : Int? // note that this could be any Type.
}
Затем создайте его экземпляр и обновите тип параметра отправителя до ButtonWithValue
.Внутри обработчика вы проверяете на sender.value