单击

时间:2017-01-31 21:59:51

标签: swift cocoa

单击按钮后,如何让按钮消失?

 @IBAction func onClick(_ sender: NSButton) {
        sender.isHidden = true;
        //...a lot of blocking instructions below this line

 }

上述工作在一定程度上起作用,因为只有在处理了函数中的所有指令后才隐藏“发送者”/按钮。我在函数(套接字连接等)中有一些阻塞IO ,我希望按钮在所有发生之前消失。

我尝试使用 outlet sender

2 个答案:

答案 0 :(得分:2)

 @IBAction func onClick(_ sender: NSButton) {
    sender.isHidden = true;
    DispatchQueue.main.async {
        //...a lot of blocking instructions below this line
    }
 }

答案 1 :(得分:0)

我设法通过在以下语句中添加“阻塞”代码来实现所需效果(并以同步方式立即推送.isHidden设置):

 DispatchQueue.main.async { /*code*/ }