我在OSX,Xcode 8.2,而不是iOS。
我在按钮点击时打开一个带有故事板segue(popover)的视图,而不是以编程方式打开。
虽然弹出窗口弹出"弹出"如果快速点击触发按钮,则会多次调用segue,在相同位置打开多个弹出窗口。
如果已打开弹出框,我想阻止弹出窗口被打开两次。最好的方法是什么?
我目前的方法是在prepareForSegue的BOOL中保存激活/打开,并在shouldPerformSegue中检查其值。然后,变量由视图本身重置(在通过委托关闭时)
但它并不干净,所以我想知道是否有更有效的方法来执行这项任务。
答案 0 :(得分:0)
删除performSegueWithIdentifier 并在prepareForSegue中使用这样的东西;
let indexPath : NSIndexPath! = self.tableView.indexPathForSelectedRow
我不知道如何在目标中写这个但是在swift我确定如果你使用tableview如果只有按钮来显示视图就会选择索引 这很容易 只需进入故事板并在
之后为每个标识符指定不同的名称使用标识符
确定Switch语句switch control expression {
case identifier 1:
statements
case identifier 2:
statements
case identifier 3:
statements
}
or
if identifier == "btn1"{
destinationForSegue : ControllerName1
}
if identifier == "btn2"{
destinationForSegue : ControllerName2
}
if identifier == "btn3"{
destinationForSegue : ControllerName3
}
答案 1 :(得分:0)
试试这个
if(bad action1){
消息这个没有上帝再试一次
}
否则{
做你的员工1 如果行动不好2 {
消息这个没有上帝再试一次
}
else{
do your staff 2
if bad action3{
message this no god try again
}
else{
do your staff 3 or final staff
}
}
}