如何使用闭包传值呢?现在有一个这样的场景,A界面需要传值到B界面,B页面编辑之后在传入A页面。
通常这种情况可以使用代理,OC中也可以使用block做回调,那么Swift中使用的就是闭包(closure)
1>首先操作B页面,声明一个闭包类型如下图所示,该函数有两个值。
2>然后声明一个全局变量用于该类的业务调用
3>声明一个函数,我这里有三个参数,其中两个字符串用于B类页面的赋值,另外一个参数就是刚才声明的匿名函数。用于A页面的回调。然后将这个参数赋值给刚才所定义的全局变量。
4>最后一步就是传值,如下图所示,首先判断self.resultRespont是否为空,不为空将执行,将编辑之后的两个参数赋值进去,这样就完成了传值。
5>第5部就是A类应该怎么去接收B传回来的参数,如下图所示。A类调用了B类的函数,传递了两个值过去,还有另外一个就是匿名函数,也有两个值,输出之后就是B类操作之后回传的值了,原理跟OC的block一致。