swift 学习笔记3 -- OC的block与swift的闭包

目的:两VC通过闭包传值


FirstVC.swift里:


import UIKit

class FirstVC: UIViewController {

    @IBOutlet weak var output: UILabel!


    @IBOutlet weak var ig: UIImageView!

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        

    }


    @IBAction func show(sender: AnyObject) {

        self.ig.image = UIImage(named: "homePY.png");

        

        let vc = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()).instantiateViewControllerWithIdentifier("Second") as! Second

        self.navigationController?.pushViewController(vc, animated: true)

        let weakSelf = self;

        vc.setClosurePass { (input:String) -> Void in

            weakSelf.output.text = input;

        }

    }

}



SecondVC.swift里:

import UIKit

typealias PassClosureType = (String) -> Void


class Second: UIViewController {

    @IBOutlet weak var input: UITextField!

    var closurePassValue:PassClosureType?

    

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

    }


    func setClosurePass(temClosure:PassClosureType){

        self.closurePassValue = temClosure

    }

    

    @IBAction func passValue(sender: AnyObject) {

        if let cp = self.closurePassValue {

            if let tex = self.input.text{

                cp(tex)

            }

        }

    }

}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值