swift 闭包传值

在oc 中,反向传值可以采用block块来实现,同样,在swift 中也有类似的闭包,下面就闭包传值进行简单的介绍。

这里两个界面的基本逻辑是这样的:

(点击 “下一页”,进入下一页b),点击b中的按钮,按钮的文字会显示在a的label上。

a界面:b界面:传值后的a界面:

b->a:那么就应该在b中声明闭包,a中定义闭包,并赋值给b,然后调用:

b中闭包声明:

varclosure:((title:String)->Void)!

a中闭包定义:

letsecondVC:SecondViewController=SecondViewController()

secondVC.closure= {(title:String)in

self.buttonLabel.text= title}

闭包调用:

@IBActionfuncbuttonClicked(sender:UIButton) {

lettitle = sender.currentTitle

self.closure(title: title!)

self.dismissViewControllerAnimated(true, completion:nil)

}

这就实现了简单的回调,闭包传值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容