swift 闭包传值

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

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

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

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

swift 闭包传值_第1张图片
swift 闭包传值_第2张图片
swift 闭包传值_第3张图片

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)

}

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

你可能感兴趣的:(swift 闭包传值)