此篇内容主要阐述如何在Swfit中返回传值,比如:A(Label)-B(传递)-A(接收),和跨多个界面进行代理传递值.
.在移动开发中我们常常会用到这样的功能,那么接下来介绍:
一.通过代理传值的方式进行返回
如下步骤:
1.DeviceController.swfit
- 在头部导入B界面的代理SendMessageDelegate
class DeviceController:BaseViewController,SendMessageDelegate, UITextFieldDelegate{
}
- 在跳转的函数中指定self并实现跳转
func scanOnClick() {
let reginserVc = QRScanViewController()
reginserVc.delegate = self
self.navigationController?.pushViewController(reginserVc, animated:true)
print( "QRscanController")
}
- 此处为接收B界面代理方法,传递过来的值!
//接收扫描界面返回传递过来的code
func 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