Swift 为什么我的按钮显示的字符串不正确?

Swift 为什么我的按钮显示的字符串不正确?,swift,Swift,在xcode中试试这个并运行程序,左边的按钮只是显示随机的单词,而不是我在程序中写的单词,请帮助我 这是我的代码,试着在自己的xcode程序中运行它(不要介意奇怪的问题) import UIKit class ViewController: UIViewController { //BUTTON-OUTLET @IBOutlet weak var answer1: UIButton! @IBOutlet weak var answer2: UIButton! //fr

在xcode中试试这个并运行程序,左边的按钮只是显示随机的单词,而不是我在程序中写的单词,请帮助我

这是我的代码,试着在自己的xcode程序中运行它(不要介意奇怪的问题)

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)
    }
}