Определение элементов пользовательского интерфейса их теги не лучшая практика. Если вы создаете свой пользовательский интерфейс с помощью Interface Builder, вы можете назначить эти UIButtons массиву выходов UIButton, который затем позволит вам получить доступ к нужному объекту, с которым нужно манипулировать.
1) Объявить массив точек:
@IBOutlet var buttons: [UIButton]!
2) Connect в Interface Builder все UIButtons к розетке кнопок в определенном порядке
3) Используйте расширение для UIButton, чтобы изменить его цвет:
extension UIButton {
private func imageWithColor(color: UIColor) -> UIImage {
let rect = CGRectMake(0.0, 0.0, 1.0, 1.0)
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()
CGContextSetFillColorWithColor(context, color.CGColor)
CGContextFillRect(context, rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
func setBackgroundColor(color: UIColor, forUIControlState state: UIControlState) {
self.setBackgroundImage(imageWithColor(color), forState: state)
}
}
4) Затем обратитесь к выбранному UIButton из массива на выходе, когда МА вычисляет ход:
buttons[int_of_AI_selected_button].setBackgroundColor(thecolor, forthecontrolstate)