OC里面有block 可以在控制器之间来回传值为此,swift里面出了类似OC Block相同的闭包
第二个控制器里面需要写的东西
typealias是Swift中用来为已经存在的类型重新定义名字的关键字(类似于OC语法中的 typedef),重新命名的新名字用来替代之前的类型,并且能够使代码变得更加清晰简单容易理解。
import UIKit
//声明一个闭包 返回值是string
typealias BackBlock = (String) -> Void
class SecondController: UIViewController {
@IBOutlet weak var alipayBtn: UIButton!
// 创建一个闭包
var BackBlockClousure : BackBlock?
// 在点击事件或者别的触发的地方传递数据
self.BackBlockClousure!(string)
}
第一个控制器里面需要写的内容 直接上代码
// 这是storyBoard 跳转控制器
let shareVC = MessageStoryBoard.instantiateViewController(withIdentifier: "SecondController") as! SecondController
shareVC.view.backgroundColor = UIColor.init(0, 0, 0, 0.8);
shareVC.modalPresentationStyle = UIModalPresentationStyle.overFullScreen
// 接受第二个控制器传回的数据
shareVC.BackBlockClousure = {
(backStr:String) -> Void in
print(backStr)
}