gpt4 book ai didi

ios - 如何使用带有 Swift 3.0 的按钮将值从 ViewController 传递到另一个 ViewController

转载 作者:行者123 更新时间:2023-11-28 11:01:45 25 4
gpt4 key购买 nike

我正在使用 Swift 制作一个 iOS 应用程序,即石头剪刀布。

当您按下哪个按钮(石头图、纸图或剪刀图)时,它会切换到不同的 View Controller 并显示它是平局、胜利或失败(比较您的数字[即。摇滚按钮是1]到计算机的随机数)。但它不会显示结果,因为它需要在按钮中,而不是在按钮外和 viewDidLoad() 中。

我会给你我的代码片段。我在下一个 View Controller 中使用函数来返回一个字符串。

所以我需要的只是将 userNum 和 computerNum 传递给按钮中的下一个 View Controller (按下时),然后调用函数并返回字符串。

var userNum: Int = 0
var computerNum: Int = 0

@IBAction func rock(_ sender: UIButton) {
userNum = 1
computerNum = (Int)(arc4random_uniform(3) + 1)
} //This next code will be in the other View Controller
func chooseWinner(userNum : Int, computerNum : Int) -> String {
if userNum == computerNum {
return "There is a tie"
}else if userNum == 1 && computerNum == 2{
return "You lost!"
}else if userNum == 1 && computerNum == 3{
return "You won!"
}else if userNum == 2 && computerNum == 1{
return "You won!"
}
else if userNum == 2 && computerNum == 3{
return "You lost!"
}else if userNum == 3 && computerNum == 1{
return "You lost!"
}
else if userNum == 3 && computerNum == 2{
return "You won!"
}else{
return "value"
}
}

最佳答案

在 Storyboard Editor 中,按住 Ctrl 的同时按住 leftclick,然后将鼠标拖动到您想要 segue 的目标 View Controller 。松开鼠标后,您可以选择一个 segue 类型,例如显示

这将允许您继续到目标 View Controller ,而无需像在您的代码中那样以编程方式创建 IBAction

在源 View Controller 中,添加函数

准备(对于 segue:UIStoryboardSegue,发件人:任何?)

这将允许您检查转场并在转场之前进行任何其他设置。

请记住在属性检查器中为您的 segue 设置标识符

identifier

内部源 View Controller

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "destination" {


//OtherViewController is a placeholder for the viewcontroller class of your destination viewcontroller
if let destinationVC = segue.destinationViewController as? OtherViewController {
destinationVC.userNum = 1
destinationVC.computerNum = (Int)(arc4random_uniform(3) + 1)
}
}
}

内部目标 View Controller

var userNum: Int!
var computerNum: Int!

override func viewDidLoad() {
super.viewDidLoad()

//do wtv you need with your values
print(chooseWinner(userNum: userNum, computerNum: computerNum))
}

关于ios - 如何使用带有 Swift 3.0 的按钮将值从 ViewController 传递到另一个 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40296415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com