swift - 快速将数据传递给变量
问题描述
我想将按钮标签分配给变量。然后我尝试将此数据发送到 SecondViewController 并将其分配给 var。
@IBAction func goToProducts(_ sender: UIButton) {
performSegue(withIdentifier: TextStrings.ProfileAluVC.goToProducts, sender: self)
categoryNumber = sender.tag }
将数据传递给 ProductsViewController
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "goToProducts" {
let destinationController = segue.destination as! ProductsViewController
destinationController.categoryNumb = categoryNumber
}
}
在 ProductsViewController 我创建 var 但没有这些数据。我打印这个变量,我得到了这个:
类别编号:373
categoryNumb:可选(24)
你能告诉我我该怎么做吗?
解决方案
您需要先分配它performSegue
categoryNumber = sender.tag
performSegue(withIdentifier: TextStrings.ProfileAluVC.goToProducts, sender: self)
或使用sender
performSegue(withIdentifier: TextStrings.ProfileAluVC.goToProducts, sender: sender.tag)
将数据传递给 ProductsViewController
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "goToProducts" {
let destinationController = segue.destination as! ProductsViewController
destinationController.categoryNumb = sender as! Int
}
}
推荐阅读
- c# - 如何从 2 个文本字段中减去一个值并将该值存储在第二个文本字段中?
- apache-flink - 使用 Flink Sql 选择 Top N Per Group
- django - 授予对 s3 存储桶的公共访问权限,而不是为 aws 无服务器应用程序提供静态网站
- python - 关于如何改进脚本的建议
- kubernetes - 当我们执行“kubectl scale deploy”时,Kubernetes 不尊重 HPA 配置吗?
- hashmap - 恢复到 HashMap 中的先前值
- android - 动态更改 relativelayout 的布局不会影响 relativelayout 的子级
- python-3.x - 如何在文本小部件中制作一个输出整数的按钮
- c# - C# - 等待进程退出并关闭“ShowDialog()”
- node.js - 如何在 node js 中将 app.post 和 app.get 合二为一