Как подключить несколько кнопок в раскадровке к одному действию в Swift 3 для увеличения значения?

У меня есть четыре кнопки, которые я хочу, чтобы пользователь нажал. Значения кнопок: 1, 5, 25 и 100.

У меня есть ярлык, показывающий сумму всех значений нажатых кнопок.

Однако числа не складываются из-за того, где у меня есть уравнение в коде для кнопок IBAction. В предыдущих сообщениях я видел, что использовалось «действие подключения», которое могло бы соединить несколько кнопок IBAction в раскадровке с единичным действием с помощью Swift. Я не могу найти эту функцию в Swift 3.

Итак, как я могу связать несколько кнопок IBActions в раскадровке с одним действием в Swift 3?

Следующий код помещается после

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

var oneButtonTapped = 0
var noButtonTapped = 0
@IBAction func oneButtonTapped(_ sender: AnyObject) {oneButtonTapped = oneButtonTapped + 1

//Aware that the location of the code is requiring the 1 button to be tapped to be update.  TODO: Have the total update after every button tap

    let totalAmount = (noButtonTapped + oneButtonTapped + fiveButtonTapped + twentyfiveButtonTapped + hundredButtonTapped)

    Amount.text = String(totalAmount)
}
var fiveButtonTapped = 0
@IBAction func fiveButtonTapped(_ sender: AnyObject) {fiveButtonTapped = fiveButtonTapped + 5
}
var twentyfiveButtonTapped = 0
@IBAction func twentyfiveButtonTapped(_ sender: AnyObject) {twentyfiveButtonTapped = twentyfiveButtonTapped + 25
}
var hundredButtonTapped = 0
@IBAction func hundredButtonTapped(_ sender: AnyObject) {hundredButtonTapped = hundredButtonTapped + 100
}

Заранее благодарим вас за помощь, мы очень ценим это!


person TaxmanCPA    schedule 16.09.2016    source источник


Ответы (1)


это выглядит очень похоже на этот поток Подключение нескольких кнопок к одному IBAction. По сути, вы можете использовать инструмент подключения Autolayout для «управления перетаскиванием» нескольких кнопок с раскадровки в ранее созданный IBAction в вашем быстром коде.

Эта ссылка Можно подключить несколько кнопок к в одном IBAction есть несколько анимированных GIF-файлов, которые показывают процесс подключения.

Затем вы можете обратиться к кнопке, запускающей код, с помощью параметра «отправитель».

Кроме того, похоже, что ваш код находится внутри функции didReceiveMemoryWarning ().

Надеюсь это поможет.

person FatKC    schedule 08.01.2017