ios - 将 int 数据从一个视图控制器传递到另一个视图控制器时遇到问题(segue)
问题描述
我想将一个 int 数据从一个视图控制器传递到另一个视图控制器。
问题是在第二个视图控制器中接收到的 int 数据与第一个视图控制器的 int 数据不匹配。
视图控制器 1:
import UIKit
class levelsSelector: UIViewController {
var levelSelected: Int = 0
var gameWanted: Int = 0
@IBAction func level1Tapped(_ sender: Any) {
gameWanted = 1
performSegue(withIdentifier: "gameOn", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "gameOne" {
let levelsSelector = segue.destination as! game
levelsSelector.finalGame = levelSelected
let levelsSelector2 = segue.destination as! game
levelsSelector2.finalLevel = gameWanted
}
}
}
视图控制器 2:
import UIKit
class game: UIViewController {
var finalLevel: Int = 0
var finalGame: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
print(finalLevel)
print(finalGame)
}
}
解决方案
你的 segue 名称打错了
performSegue(withIdentifier: "gameOn", sender: self)
...
if segue.identifier == "gameOne" {
这两个标识符需要匹配
推荐阅读
- google-sheets - Google表格:使用vlookup在列中分离和求和正负数
- php - 有没有办法在Codeigniter的文本框中设置单行获取的数据库值而不使用循环
- css - 有没有办法在保持边框静止的同时操纵内容样式?
- wordpress - 在 AJAX 运行中在 Gutenberg 中发出通知
- python - 非阻塞 Python 数据库调用
- postgresql - 从 mac 中删除 postgresql 服务器
- python - 在python中只用正则表达式拆分第一组字符串
- python - 使用 statsmodel 执行线性回归时出错
- vue.js - 输入文件组件没有更新,VueJS
- python - 根据分组和条件更新数据框列