闭包传值

1、 声明闭包类型

    ///闭包传值
    //声明闭包
    typealias RatingCloser = (String) -> Void

2、 在要传值的界面定义闭包变量

//定义闭包变量
    var ratingCloser : RatingCloser?

3、 判断闭包变量是否为nil,如果不为nil的话,就执行闭包传值

if ratingCloser != nil {
   self.ratingCloser!("dislike")
}

4、 在接收的控制器里设置传值控制器闭包的方法,接收值

let reviewVC = self.storyboard?.instantiateViewController(withIdentifier: "ReviewViewController") as! ReviewViewController

    reviewVC.ratingCloser = { (value:String) -> Void in

    self.RatingBtn.setBackgroundImage(UIImage(named: value), for: .normal)

    }

5、注意

值得注意和小心的是,闭包类型声明与初始化的 位置,接受闭包传值时的时机

你可能感兴趣的:(闭包传值)