热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Swift闭包(block)传值

前面写了Swift的通知和代理的传值:《SwiftNSNotificationCenter的使用》《Swift协议代理的使用和传值》这篇就介绍关于闭包传值的使用。在iOS常

前面写了Swift的通知和代理的传值:
《Swift NSNotificationCenter的使用》
《Swift 协议代理的使用和传值》
这篇就介绍关于闭包传值的使用。在iOS常用的三种反向传值方式也就基本介绍完了。

效果图

这里写图片描述

具体使用步骤

在SecondViewController里面
1.声明一个block

/// 声明一个block
typealias SecondViewControllerBlock = (String)->()

2.持有一个block变量

/// 持有一个block变量
var block : SecondViewControllerBlock?

3.赋值

// 赋值
self.block!(textField.text!)

在ViewController里面
4.在页面跳转前取值

// MARK: 跳转到下一个页面
@IBAction func nextBtnClick(sender: AnyObject) {
let sVC = SecondViewController()
sVC.block = {str in
// 接受block的传值
self.showLabel.text = str
}
// 跳转到下一个页面
self.navigationController?.pushViewController(sVC, animated: true)
}

总结

从整体上面看,block的使用和代理的使用流程差不多,但是block在使用会比代理简洁直观,代码会比较集中。
在这篇博客里面:
《【iOS】集成支付宝支付/银联支付/微信支付》
就是很好的例子。
关于Swift闭包的使用的Demo的工程代码和前面的Swift代理的使用的基本一致。在第一个页面里面有一个label和一个按钮,在第二个控制器里面有一个TextField。
代码下载地址:Swift-block


推荐阅读
author-avatar
高玉成
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有