我在ViewDidLoad中生成了两个随机数。我要加上这两个数字,结果应在带有输入字段数据的按钮中检查。我的问题是我不知道如何将结果传输到函数CheckResultBtn中。现在无法识别结果。
这是我的代码,我非常感谢任何帮助
class ViewController: UIViewController {
@IBOutlet weak var lblRandomNumOne: UILabel!
@IBOutlet weak var lblRandomNumTwo: UILabel!
@IBOutlet weak var KidsField: UITextField!
@IBOutlet weak var Showresult: UILabel!
@IBOutlet weak var CheckResult: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let x = Int.random(in: 0 ..< 10)
lblRandomNumOne.text = String(x);
let y = Int.random(in: 0 ..< 10)
lblRandomNumTwo.text = String(y);
let result = x + y;
CheckResultBtn(result) //not sure about this
}
@IBAction func CheckResultBtn(_ sender: Any)
{
if (KidsField != nil)
{
let kidsresult = Int(KidsField.text!) ;
if (result == kidsresult)
{
Showresult.text = "Bravo";
}
else
{
Showresult.text = "Try Again!"
}
}
}
}
最佳答案
创建一个新函数而不是使用action方法
像这样 :
func CheckResultBtn(_ result : Int) {
if (KidsField != nil)
{
let kidsresult = Int(KidsField.text!) ;
if (result == kidsresult)
{
Showresult.text = "Bravo";
}
else
{
Showresult.text = "Try Again!"
}
}
}
或创建一个变量
var result : Int?
赋值
结果= x + y;
并在动作方法中使用
var result : Int?
override func viewDidLoad() {
super.viewDidLoad()
let x = Int.random(in: 0 ..< 10)
lblRandomNumOne.text = String(x);
let y = Int.random(in: 0 ..< 10)
lblRandomNumTwo.text = String(y);
result = x + y;
}
@IBAction func CheckResultBtn(_ sender: Any) {
if (KidsField != nil)
{
let kidsresult = Int(KidsField.text!) ;
if (result == kidsresult)
{
Showresult.text = "Bravo";
}
else
{
Showresult.text = "Try Again!"
}
}
}
关于ios - 如何将数据从ViewDidLoad传递到按钮的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57042470/