Swift 为什么我的按钮显示的字符串不正确?
在xcode中试试这个并运行程序,左边的按钮只是显示随机的单词,而不是我在程序中写的单词,请帮助我 这是我的代码,试着在自己的xcode程序中运行它(不要介意奇怪的问题)Swift 为什么我的按钮显示的字符串不正确?,swift,Swift,在xcode中试试这个并运行程序,左边的按钮只是显示随机的单词,而不是我在程序中写的单词,请帮助我 这是我的代码,试着在自己的xcode程序中运行它(不要介意奇怪的问题) import UIKit class ViewController: UIViewController { //BUTTON-OUTLET @IBOutlet weak var answer1: UIButton! @IBOutlet weak var answer2: UIButton! //fr
import UIKit
class ViewController: UIViewController {
//BUTTON-OUTLET
@IBOutlet weak var answer1: UIButton!
@IBOutlet weak var answer2: UIButton!
//frågor
var fraga = ["how tall is a big-mac", "what is the fear of money called", "how many steps are in the eiffel tower"]
var svar1 = "8cm"
var svar2 = "chrometophobia"
var svar3 = "1770 steps"
var randomord1 = ["11 cm", "30 cm", "3 cm", "13 cm", "22 cm"]
//OBJECTS
@IBOutlet weak var questionlabel: UILabel!
@IBAction func generateQuestion(_ sender: Any) {
questionlabel.text = fraga.randomElement()
if fraga.randomElement() == "how tall is a big-mac" {
answer1.setTitle(svar1, for: .normal)
answer2.setTitle(randomord1.randomElement(), for: .normal)
}else if fraga.randomElement() == "what is the fear of money called" {
answer2.setTitle(svar2, for: .normal)
}else if fraga.randomElement() == "how many steps are in the eiffel tower" {
answer1.setTitle(svar3, for: .normal)
}
}
}
您应该调用一次方法randomElement()。 试试这个:
@IBAction func generateQuestion(_ sender: Any) {
let questionText = fraga.randomElement()
questionlabel.text = questionText
if questionText == "how tall is a big-mac" {
answer1.setTitle(svar1, for: .normal)
answer2.setTitle(randomord1.randomElement(), for: .normal)
}else if questionText == "what is the fear of money called" {
answer2.setTitle(svar2, for: .normal)
}else if questionText == "how many steps are in the eiffel tower" {
answer1.setTitle(svar3, for: .normal)
}
}
如果您告诉我们哪个按钮是左键,这会有所帮助,因为如果没有故事板,运行它有点困难:-)。您在这里真正想要实现什么?不应该在每个if语句中调用fraga.randomElement。仅在ifs之前一次,并在所有ifs中使用它。您正在此处设置一个随机元素
answer2.setTitle(randomord1.randomElement(),代表:.normal)
。不过,您需要提供更多详细信息来理解问题。这意味着什么——“操作未在视图控制器上定义”
@IBAction func generateQuestion(_ sender: Any) {
let questionText = fraga.randomElement()
questionlabel.text = questionText
switch questionText {
case "how tall is a big-mac":
answer1.setTitle(svar1, for: .normal)
answer2.setTitle(randomord1.randomElement(), for: .normal)
case "what is the fear of money called":
answer2.setTitle(svar2, for: .normal)
default:
answer1.setTitle(svar3, for: .normal)
}
}