Swift 代理传值

需求:上个页面的值,会传到当前页面。

  1. 传值页面:
class NextViewController: UIViewController {
    weak var delegate: NextVCDelegate?
    
    @IBOutlet weak var textField: UITextField!
    
    override func viewWillDisappear(_ animated: Bool) {
        textField.resignFirstResponder()
        if delegate != nil {
            delegate?.nextVCTextFieldValue(value: textField.text)
        }
    }
    override func viewDidLoad() {
        super.viewDidLoad()
            
      }
    
    deinit {
        print("销毁啦")
    }
}
//
//声明协议
@objc protocol NextVCDelegate {
    //协议方法
    func nextVCTextFieldValue(value: String?)
}
  1. 接受页面
//
//  ViewController.swift
//  YDemoDelegate
//
//  Created by bruce yao on 2019/7/17.
//  Copyright © 2019 bruce yao. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    // MARK: - Navigation
    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier != nil && (segue.identifier?.elementsEqual("NextVC"))! {
            let nextVC = segue.destination as! NextViewController
            nextVC.delegate = self
        }
    }
}
extension ViewController: NextVCDelegate {
    func nextVCTextFieldValue(value: String?) {
        print(value)
    }
}
  1. 代码demo链接:https://gitee.com/bruceYao1123/swiftDelegate.git
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值