当前位置: 代码迷 >> 综合 >> Swfit-返回传值
  详细解决方案

Swfit-返回传值

热度:97   发布时间:2023-11-18 04:06:23.0

此篇内容主要阐述如何在Swfit中返回传值,比如:A(Label)-B(传递)-A(接收),和跨多个界面进行代理传递值.
.在移动开发中我们常常会用到这样的功能,那么接下来介绍:

一.通过代理传值的方式进行返回

如下步骤:

1.DeviceController.swfit

  • 在头部导入B界面的代理SendMessageDelegate
class DeviceController:BaseViewController,SendMessageDelegate, UITextFieldDelegate{
    }
  • 在跳转的函数中指定self并实现跳转
func scanOnClick() {
    let reginserVc = QRScanViewController()reginserVc.delegate = selfself.navigationController?.pushViewController(reginserVc, animated:true)print( "QRscanController")}
  • 此处为接收B界面代理方法,传递过来的值!
   //接收扫描界面返回传递过来的codefunc sendWord(message: String) {
    print("mmmmmm",message)}

2.QRScanViewController.swfit

  • 在头部Class上面写入代理以及方法
protocol SendMessageDelegate{
    func sendWord(message : String)
}
  • 在类里面实现代理
var delegate : SendMessageDelegate?

如图:在这里插入图片描述

  • 在B界面点击返回A界面时,处理传递值.
let namea = "fanhuizhi"
self.delegate?.sendWord(message: namea)
self.navigationController?.popViewController(animated: true)

结束!

就是这么简单,希望能够帮助到您,加油,再接再厉…Pulse