iOS,将几个UIButton链接到一个IBAction-滞后问题

时间:2018-09-23 14:33:48

标签: ios xcode interface

在单个VC应用中, 信息标签用于按文本显示按钮的点击次数, 想法是在点击次数均匀/不均匀的情况下切换文本。我做到了, 但是,当我尝试将夫妇(9)UIButton链接到发生计数和标签更新的单个IBAction时,问题就来了。在这里,标签更新比实际计数落后一步(通过控制台上的print(counter)验证)。

有人可以帮忙为什么会这样吗? 我当然可以为每个UIButton使用单独的IBAction来做到这一点, 但是一个动作和按钮标签可以正常工作,因此最好通过单个IBAction来减少代码。

import UIKit

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做了几天前的最新修订。

0 个答案:

没有答案