如何在android中实现协议

时间:2017-01-31 07:54:26

标签: java android ios swift3 protocols

DialogManager.showDialog(this, message, new OnTwoButtonClickListener() {
               @Override
               public void onButtonClick1() {}                                        

               @Override
               public void onButtonClick2() {}                       
           });

我如何在swift 3中创建相同的功能。

据我所知,我无法从协议创建新实例。

我知道代表团,我知道我可以这样做,但我正在寻找另一种解决方案。

我希望我的对话框用法如上所述。

有人能建议我最好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

尝试使用闭包

showDialog的定义如下:

func showDialog(message: String, 
    button1Click: @escaping () -> Void, 
    button2Click: @escaping () -> Void)

要触发关闭,请执行以下操作:

button1Click()
button2Click()

要致电showDialog,请执行:

showDialog(message: "Hello", 
           button1Click: { // code },
           button2Click: { // code })