避免多次执行performSegue

我的应用程序中有20多个按钮。对于这些按钮,如果我单击两次,它将在整个iOS整个应用程序中快速执行两次两次SeuseSegue,然后两次打开viewcontroller?

self.performSegue(withIdentifier: "toViewController",sender: nil)
guang6883 回答:避免多次执行performSegue

您可以在每个按钮上附加一个标签,并定义一个Segues数组

self.performSegue(withIdentifier:segues[sender.tag],sender: nil)

或者,如果您不愿意覆盖prepareForSegue

,只需将按钮设为segue的来源 ,
  • 您可以声明一个属性

    var isSegueEnabled = true
    
  • 然后实现控制是否应该执行segue的方法

    func shouldPerformSegue(withIdentifier identifier: String,sender: Any?) -> Bool {
        return isSegueEnabled
    }
    
  • prepare(for segue中将属性设置为false

    isSegueEnabled = false
    
  • 在取消显示的视图控制器后的某个时刻,将isSegueEnabled设置回true

本文链接:https://www.f2er.com/2631239.html

大家都在问