swift类回调⽅法/回调函数
高发际线
// A类代码
class A{
func huidiao(){
如何说话let tag:String = "XunDianGuanLiControlle"
// 数据处理的B类型
let UIPickerViewPL = B()
// 设置数据,传tag(tag是⾃定义的,可传可不传),getValueClosure 这个⽅法是必须的,这个⽅法创建在本类 UIPickerViewPL.UIPivkerInit(tag: tag, closuer:getValueClosure)
// 设置B类背景透明度
UIPickerViewPL.view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5) // 显⽰B类,⾃下⽽上显⽰
粮食与思想
调频收音机
lf.prent(UIPickerViewPL, animated: true, completion: nil)
}
// B类中回调的⽅法,参数⾃定义
func getValueClosure(tag: String,result:[Int:Int]) {糯米功效
水獭for (k,v) in result {
print("\(tag)|\(mPinPaiPickerData[k]![v]?.name)")
}
风雅是什么意思
}
}
// B类代码6月9日是什么星座
// 这句代码没理解什么意思,应该是声明类型,我是写在class上⾯的
typealias ndValueClosure = (_ tag: String,_ result:[Int:Int])->Void
class B{
// 请求tag
var mStringTag:String!
// 请求闭包函数
var mQingQiuBiBao:ndValueClosure?
// TODO:初始化赋值,在A类中调⽤此⽅法赋值
public func UIPivkerInit(tag:String,closuer:ndValueClosure?){
lf.mStringTag = tag
lf.mQingQiuBiBao = closuer
}
func BhuiDiao(){
if(mQingQiuBiBao != nil){
// 这⾥会回调A类⾥⾯的getValueClosure⽅法,这⾥的参数就是getValueClosure⽅法的参数
mQingQiuBiBao!(lf.mStringTag,[1:1])
}
// 回跳(这个是prent的返回,⽽且有动画,⾃上⽽下隐藏)
lf.dismiss(animated: true, completion: nil)
}
}