Используйте sender.tag
в качестве индекса в массиве answer
.Используйте guard
, чтобы убедиться, что sender.tag
является допустимым индексом (чтобы он не падал):
let answer = ["Black", "Green", "Red", "Gray"]
@IBAction func buttonPressed(_ sender: UIButton) {
guard answer.indices.contains(sender.tag) else { return }
sender.setTitle(answer[sender.tag], for: .normal)
}
Если вы подключите свои кнопки к этому @IBAction
и установите свои значения tag
0
- 3
, тогда заголовки будут установлены, когда будут установлены при нажатии кнопок.
Если ваши кнопки являются частью коллекции розеток:
@IBOutlet var buttons: [UIButton]!
вы можете установить их следующим образом (например, в viewDidLoad()
):
buttons.forEach { $0.setTitle(answer[$0.tag], for: .normal)
Опять же, обязательно установите значения tag
в диапазоне answer.indices
.