Swift 闭包(Closure)回调传值

如何使用闭包传值呢?现在有一个这样的场景,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一致。

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

推荐阅读更多精彩内容