闭包和block尽管有很多相似之处,但block还是有他自己的独特之外。今天学习后简单介绍一下:
假设在把A.swift的值传给B.swift中,定义按钮,点击之后完成传递(举两个例子,其他情况类似)
在A.swift中声明:1,无参无返回值数传递--var a1ClickCallBack:(() -> ())?
2,有参数无返回值传递--var a2ClickCallBack:((String) -> ())?
此时在点击方法里面实现:1,a1ClickCallBack!()
2,a2ClickCallBack!("要传的字符串的值")
在B.swift中实现:假设B中已经声明或实例化了A.swift的controller,即为aCtl,
传值实现: 1,aCtl.a1ClickCallBack = { //你想做的事情 }
2,aCtl.a2ClickCallBack = { (param: String)in
//你想做的事情 }