ios - 如果 segue 已在使用中,则从 previos VC 传回数据
问题描述
我有 VC“A”,我从中将一些数据传递给“B”。在属性检查器中,我将我的序列称为“B”:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "B" {
let vc = segue.destination as! ChooseController
vc.someData = "passedDataFromAToB"
}
之后,我想使用委托和协议将一些数据从 B 传递回 A,但事实证明我的 segue 标识符很忙。我必须创建新的segue?但是,如何以编程方式?
解决方案
您需要在此处设置委托
let vc = segue.destination as! ChooseController
vc.delegate = self
vc.someData = "passedDataFromAToB"
class ChooseController:UIViewController {
weak var delegate:AVC?
然后在解雇之前传递数据
delegate?.sendData(data)
self.dismiss(animated:true,completion:nil)
推荐阅读
- javascript - 用数组元素填充空白
- javascript - 有什么方法可以在不重新启动动画的情况下通过 element.animate 更新动画集的持续时间?
- python - 安装 passlib 的问题
- python - 在 Django 项目中,我在哪里可以编写用于条带支付的服务器代码?
- r - 在 Shiny 中显示最高数字的值
- zooming - Camera2 API 缩放相机预览
- reactjs - 如果想在我的整个 React 应用程序中访问变量,我应该在哪里设置变量?
- haskell - 从字符串列表中删除特殊字符 Haskell
- javascript - Chart.js - 图表响应/调整大小
- c++ - 如何修复并使我的代码在 C++ 中工作?