提问人:hadoxi 提问时间:3/17/2020 最后编辑:hadoxi 更新时间:3/19/2020 访问量:269
避免多次执行Segue
Avoid performSegue multiple times
问:
我的应用程序中有超过 20+ 个按钮。对于这些按钮,如果我单击两次,它会执行两次Segue并打开两次视图控制器,在swift iOS的整个应用程序中?
self.performSegue(withIdentifier: "toViewController", sender: nil)
答:
0赞
Shehata Gamal
3/17/2020
#1
您可以为每个按钮附加一个标签并定义一个 segue 数组
self.performSegue(withIdentifier:segues[sender.tag], sender: nil)
或者干脆将按钮作为 segue 的来源,如果您不愿意覆盖prepareForSegue
评论
0赞
hadoxi
3/19/2020
如果我单击该按钮两次,它会执行两次Segue并打开两次视图控制器
0赞
vadian
3/19/2020
#2
您可以声明一个属性
var isSegueEnabled = true
然后实现该方法来控制是否应执行 segue
func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { return isSegueEnabled }
在 将属性设置为
prepare(for segue
false
isSegueEnabled = false
在关闭显示的视图控制器后的某个时间点,请设置回
isSegueEnabled
true
评论