Я создаю приложение со сложным интерфейсом, который требует 45 кнопок. По разным причинам я не использую Interface Builder. Чтобы обновить свойства для определенных кнопок, мне нужно, чтобы каждая из кнопок имела уникальное имя (Btn1, Btn2, Btn3 ...). Вот код, который я использую:
let buttonsArray = ["Btn1", "Btn2", "Btn3", "Btn4", "Btn5", "Btn6",
"Btn7", "Btn8", "Btn9", "Btn10", "Btn11", "Btn12",
"Btn13", "Btn14", "Btn15", "Btn16", "Btn17", "Btn18",
"Btn19", "Btn20", "Btn21", "Btn22", "Btn23", "Btn24",
"Btn25", "Btn26", "Btn27", "Btn28", "Btn29", "Btn30",
"Btn31", "Btn32", "Btn33", "Btn34", "Btn35", "Btn36"]
for button in buttonsArray {
let button = UIButton(frame: CGRect(x: nextx, y: nexty, width: btnsiz, height: btnsiz))
button.isUserInteractionEnabled = true
button.alpha = 0.05
button.tag = tagnum
tagnum += 1
button.backgroundColor = UIColor(red: 0.997, green: 0.645, blue: 0.014, alpha: 1.0)
button.setTitle(notesarray[count], for: .normal)
button.setTitleColor(UIColor.black, for: .normal)
button.layer.cornerRadius = 0.5 * button.bounds.size.width
button.clipsToBounds = true
button.backgroundColor = UIColor(red: 0.991, green: 0.607, blue: 0.33, alpha: 1.0)
button.addTarget(self, action: #selector(btnPressed), for: .touchUpInside)
self.view.addSubview(button)
btnarray[count] = false
setNextX()
element += 1
count += 1
}
Когда кнопка нажата, она распознается. Я назначил уникальный номер тега. Я хочу иметь возможность обновлять свойства на основе имени кнопки (Btn1), например:
Btn1.isUserInteractionEnabled = true. Я получаю сообщение об ошибке «Использование неопознанного идентификатора« Btn1 ». Как получить имя, указанное, как я мог бы в Интерфейсном Разработчике с IBOutlet?