Closure

闭包回调在于从A跳转到B时,将对A赋值的函数对象传给B,在需要赋值的时候,B调用该函数对象即可。

E.G.  

//A类,申明一个赋值方法

func setName(textField:String) {

self.textField1.text= textField

}

//B类,申明一个与A类相同的闭包类型

typealias closure = (name:String)->Void

var closureType:closure?

override func prepareForSegue(segue:UIStoryboardSegue, sender:AnyObject?) {

if segue.identifier=="toBViewController"{

let vc2: ViewController2= segue.destinationViewController as! ViewController2

//A类,在跳转的时候将B类的闭包赋值A类上面的赋值方法

vc2.closureType setName

}

}

//在B类需要赋值给A类的时候直接调用对应的closure方法即可

@IBActionfunctoViewController3(sender:UIButton) {

closureType!(name:"zhangsan")

self.dismissViewControllerAnimated(true, completion:nil)

}

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

推荐阅读更多精彩内容