В одном приложении VC информационная метка используется для текстового отображения количества нажатий кнопки, идея состоит в том, чтобы переключать текст по четному / неравному количеству нажатий.Я сделал это хорошо, но проблема возникла, когда я попытался связать пару (9) UIButtons с одним IBAction, где происходят обновления количества и меток.Здесь обновление этикетки отстает на один шаг от реального счета (проверено печатью (счетчиком) на консоли).
Может кто-нибудь помочь, почему это происходит?Конечно, я могу сделать это с отдельным IBAction для каждого UIButton, но одно действие и теги кнопок работают нормально, поэтому было бы неплохо сохранить код меньше с помощью одного IBAction.
import UIKit
class ViewController: UIViewController {
var player:Player = .cross
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.label.text = "Player \(player.rawValue) is on the move"
}
@IBAction func Move(_ sender: UIButton) {
if player == .cross {
player = .circle
} else {
player = .cross
}
print(sender.tag)
print("Player \(player.rawValue) is on the move")
self.label.text = "Player \(player.rawValue) is on the move"
}
@IBAction func button(_ sender: UIButton) {
if player == .cross {
player = .circle
} else {
player = .cross
}
print(sender.tag)
print("Player \(player.rawValue) is on the move")
self.label.text = "Player \(player.rawValue) is on the move"
}
}
// функция перемещения - это обычный IBAction, который задерживает обновление метки // кнопка funcэто действие для отдельной кнопки, корректное обновление ярлыков
// отладка прогресса: аналогичный код работал без задержек на другом рабочем столе, более того, работающий код там чистый, запаздывает, когда я запускаю его на своем рабочем столе.У меня есть сомнения, что это может быть проблема с симулятором.Для справки, мой xcode сделал последние изменения несколько дней назад.