swift开发使用闭包传值

swift开发使用闭包传值



开发中,从一个页面跳转到另一个页面的时候,有时候需要到跳转后的页面把值传回上一个页面,这里介绍一下swift开发中使用闭包传值

首先我们创建两个视图控制器分别为”ViewController“和”NextViewController

现在我们要从”ViewController“跳转到到”NextViewController“,然后在”NextViewController“里面把值传给”ViewController“,需要在”NextViewController“申明闭包,”NextViewController“页面如下:

代码如下:

    //声明闭包
    typealias clickBtnClosure = (text: String?) -> Void
    //把申明的闭包设置成属性
    var clickClosure: clickBtnClosure?
    //为闭包设置调用函数
    func clickValueClosure(closure:clickBtnClosure?){
        clickClosure = closure
    }

闭包赋值的时候,在调用闭包的地方,就可以获取到闭包传过去的参数值内容

ViewController“页面如图,接到传值把值显示在输入框里面:

代码如下,闭包被赋值的时候该代码会被调用,就能获取到上一个页面传过来的参数值:

具体效果如下:在”NextViewController“页面输入框输入值,点击确定,

可以发现”ViewController“会打印

说明值已经传成功,返回上一个页面查看如图:

时间: 2024-11-05 06:27:14

swift开发使用闭包传值的相关文章

[Swift 开发] 使用闭包传值(typealias)

在Swift中使用闭包来实现两个界面的传值 例如:有A类和B类. B类 //声明闭包 typealias valueBlock = (Float)->() var returnPrice: valueBlock? //调用该闭包 self.returnPrice?(price) A类 let sb = UIStoryboard(name:"Main", bundle: nil) let vc = sb.instantiateViewControllerWithIdentifier

Swift 闭包传值

实现例子由两个界面组成 A  B 两个视图 A - > B 使用属性传值 B - > A 使用闭包进行反向回调传值 Swift 使用闭包传值的原理,与OC 中使用代码块(block)传值原理,基本类似 按步骤可以如下理解: 1.定义闭包. 2.闭包赋值(传送) 3.闭包调用. 想对于当前界面上执行某个操作,就在当前界面上定义, 比如:我想通过 B 界面回调 给 A 界面上的label赋值,赋值操作是在 A 界面上执行的.那么闭包就应该定义在 A 界面上.既然定义在 A ,那么 B 界面就是调用

SWIFT语言实现代理传值/闭包传值

1.需求:利用代理实现反向传值(例子采用点击第二个视图控制器中的按钮来改变第一个视图控制器中的Label的内容) 一.第一个界面 1 class ViewController: UIViewController, ChangeTestLabelDelegate { 2 var testLabel: UILabel? 3 override func viewDidLoad() { 4 super.viewDidLoad() 5 // Do any additional setup after lo

IOS开发语言Swift入门连载---闭包

IOS开发语言Swift入门连载-闭包 闭包是自包含的函数代码块,可以在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的 lambdas 函数比较相似. 闭包可以捕获和存储其所在上下文中任意常量和变量的引用. 这就是所谓的闭合并包裹着这些常量和变量,俗称闭包.Swift 会为您管理在捕获过程中涉及到的所有内存操作. 注意: 如果您不熟悉捕获(capturing)这个概念也不用担心,您可以在 值捕获 章节对其进行详细了

五 Swift开发之扩展(Extension)

五 Swift开发之扩展(Extensions) //扩展就是向一个已有的类.结构体或枚举类型添加新功能(functionality).这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模).扩展和 Objective-C 中的分类(categories)类似.(不过与Objective-C不同的是,Swift 的扩展没有名字.) Swift 中的扩展可以: 1.添加计算型属性和计算静态属性 2.定义实例方法和类型方法 3.提供新的构造器 4.定义下标 5.定义和使用新的嵌套类型 6

Swift学习:闭包(Closures)

/* 闭包(Closures)* 闭包是自包含的功能代码块,可以在代码中使用或者用来作为参数传值.* 在Swift中的闭包与C.OC中的blocks和其它编程语言(如Python)中的lambdas类似.* 闭包可以捕获和存储上下文中定义的的任何常量和变量的引用.这就是所谓的变量和变量的自封闭,* 因此命名为”闭包“(“Closures)”).Swift还会处理所有捕获的引用的内存管理.** 全局函数和嵌套函数其实就是特殊的闭包.* 闭包的形式有:* (1)全局函数都是闭包,有名字但不能捕获任何

Swift开发快速上手系列教程目录-陆续完善,由浅入深

Swift开发教程 一.Swift基础 Swift教程01-使用switfc终端命令编译运行swift程序 Swift教程02-抓住下一个浪潮之巅 Swift教程03-playground剖析swift语言 Swift教程04-定义声明变量重要原则 Swift教程05-基本数据类型(一)整型浮点型 Swift教程06-基本数据类型(二)Bool布尔类型对比Java-boolean,Objc-BOOL Swift教程07-基本数据类型(三)元组类型tuple Swift教程08-基本数据类型(四)

《Swift开发指南》国内第一本Swift图书上市了

既<苹果Swift编程语言开发指南>视频教程地址:智捷在线课堂,推出以来,受到大家高度关注,再接再厉推出: 国内第一本Swift开发图书:配有同步习题.同步视频教程,并全程展现即将上线的iPhone计算器项目: 分层架构设计解决Swift与Objective-C混合搭配问题:我们会及时更新本书版本欢迎大家关注. 新书预售地址: 京东预售:http://item.jd.com/11516346.html当当预售:http://product.dangdang.com/23535049.html互

《Swift开发指南》

<Swift开发指南> 基本信息 作者: 关东升    赵志荣 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115366245 上架时间:2014-8-5 出版日期:2014 年9月 开本:16开 页码:1 版次:1-1 所属分类:计算机 > 软件与程序设计 > 移动开发 > iPhone 更多关于>>> <Swift开发指南> 编辑推荐 国内第一本Swift开发教程 配有同步习题.同步视频教程,并全程展现即将上线的iPhone