1. 定义一个闭包类型 传递一个模型参数 无返回值
typealias MyColsure = (_ model: AddressBookModel) -> Void
2.声明一个方法,保存传入的闭包
var myClosure: MyColsure?
// 改变数据
func changeText(closure: @escaping MyColsure) {
myClosure = closure
}
3. 返回到上一个界面的时候 传至值
// 保存按钮事件
func saveAddressBookInfo(sender : UIButton) -> Void {
myClosure!(model!) // 闭包 逆向传值
self.navigationController?.popViewController(animated: true)
}
4. 回到上一个控制器,在初始化第二个控制器的地方获取回调
detailVC.changeText { (model) in
self.dataList[indexPath.row] = model
tableView.reloadData()
}