ios - Xcode Swift - 在视图控制器之间传递按钮路径数据
问题描述
我的应用程序有一类东西,所以当我按下主视图控制器上的“汉堡”按钮时,它会将我带到带有更多选项(按钮)的第二视图控制器,如“辣、温和、火”。我想要做的是我想将在thirdviewcontroller 上单击的那些按钮的路径保存为文本。
例如,在 thirdviewcontroller 上,文本显示“Burger -> Spicy”或“Burger -> mind”确保我正在处理路径中按下的按钮而不是输入的文本。
我怎么做
解决方案
一种简单的方法是在第二个和第三个视图控制器中保留两个变量。
class FirstViewController : UIViewController {
@IBAction func buttonAction(_ sender: UIButton) {
let vc2 = ...// instantiate second view controller
vc2.textVal = sender.titleLabel!.text
//present vc2
}
}
然后在第二个视图控制器中获取按钮的文本并将其设置为文本
class SecondViewController : UIViewController {
var textVal: String?
@IBAction func buttonAction(_ sender: UIButton) {
let vc3 = ...// instantiate thrid view controller
let buttonText = sender.titleLabel!.text
vc3.textVal = "\(textVal) -> \(buttonText)"
//present vc3
}
}
现在在第三个视图控制器中设置标签的文本
class ThridViewController : UIViewController {
var textVal: String?
@IBOutlet weak var lblText: UILabel!
override func viewDidLoad() {
lblText.text = textVal
}
}
希望它会帮助你。
推荐阅读
- c# - 在vs代码中指定一个Nuget包源
- pandas - 来自 Pandas get_dummies 的重复列
- javascript - 如何等待 array.map 方法中的承诺解决?
- python - 不和谐文件中的不和谐无类型对象错误?
- android - 如何增加 Places SDK for Android 的配额?
- php - Nginx PHP-FPM 位置别名
- python - Scrapy 命令需要 30 秒到 1 分钟
- laravel-5 - 在 Laravel 中使用 RxPHP 的方法有哪些?
- python - Python龙卷风中的相对重定向
- r - 为什么在尝试使用 NA 消除行时我得到完全空的数据框?