blo

2017-09-04  本文已影响0人  liuguilin

入门级


此处只简单举例并不深究。对于初学者来说delegate或block都不是一下子能理解的,所以我的建议和体会就是,理不理解咱先不说,我先把这个格式记住,对就是格式,delegate或block都是高度格式化的,用的多了自然而然不理解也就理解了。


B界面

1. 在B中声明一个block

typealias myBlock = (_ str :String)->Void

2.声明一个变量

var textBlock:myBlock?

3. 定义一个方法,方法的参数为和myBlock类型一致的闭包,并赋值给textBlock

func backValue(_ block: @escaping myBlock) {

textBlock = block

}

4. 调用闭包,设置你想传递的参数,调用前先判定一下,是否已实现

if textBlock != nil {

textBlock!(self.textF.text!)

}

A界面

1. 实现闭包,获取到传递的参数

seconedVC.backValue { (text) in

self.label.text = text

}

github下载地址Demo:https://github.com/liuguilin/block

上一篇 下一篇

猜你喜欢

热点阅读