Closure

作者: FishSha | 来源:发表于2016-05-09 16:02 被阅读15次

    闭包回调在于从A跳转到B时,将对A赋值的函数对象传给B,在需要赋值的时候,B调用该函数对象即可。

    E.G.  

    //A类,申明一个赋值方法

    func setName(textField:String) {

    self.textField1.text= textField

    }

    //B类,申明一个与A类相同的闭包类型

    typealias closure = (name:String)->Void

    var closureType:closure?

    override func prepareForSegue(segue:UIStoryboardSegue, sender:AnyObject?) {

    if segue.identifier=="toBViewController"{

    let vc2: ViewController2= segue.destinationViewController as! ViewController2

    //A类,在跳转的时候将B类的闭包赋值A类上面的赋值方法

    vc2.closureType setName

    }

    }

    //在B类需要赋值给A类的时候直接调用对应的closure方法即可

    @IBActionfunctoViewController3(sender:UIButton) {

    closureType!(name:"zhangsan")

    self.dismissViewControllerAnimated(true, completion:nil)

    }

    相关文章

      网友评论

          本文标题:Closure

          本文链接:https://www.haomeiwen.com/subject/fkcerttx.html