[英]how to implement protocol as I did in android
DialogManager.showDialog(this, message, new OnTwoButtonClickListener() {
@Override
public void onButtonClick1() {}
@Override
public void onButtonClick2() {}
});
How could I create same functionality in swift 3.我怎么能在 swift 3 中创建相同的功能。
As far as I know I can't create new instance from protocol.据我所知,我无法从协议创建新实例。
I know about delegation and I know I can do that way but I am looking for another solution.我知道委托,我知道我可以这样做,但我正在寻找另一种解决方案。
I want my dialog usage will be as mentioned above.我希望我的对话用法如上所述。
Could anyone suggest me best solution?谁能建议我最好的解决方案?
Try using closures .尝试使用闭包。
showDialog
would be defined like this: showDialog
将像这样定义:
func showDialog(message: String,
button1Click: @escaping () -> Void,
button2Click: @escaping () -> Void)
To trigger the closures, do:要触发关闭,请执行以下操作:
button1Click()
button2Click()
To call showDialog
, do:要调用
showDialog
,请执行以下操作:
showDialog(message: "Hello",
button1Click: { // code },
button2Click: { // code })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.