Swift 3 - 将用户输入添加到数组并选择随机项

时间:2017-04-19 20:18:55

标签: arrays swift random

这个应用程序的想法是用户键入内容然后单击提交,文本字段清空,以便他们可以键入其他内容然后当他们单击一个名为randomized的不同按钮时,标签的文本变成随机用户输入的项目中的项目。我想我应该将新输入附加到数组然后创建randomIndex,然后使用randomIndex使标签的文本成为数组中的随机项。这是我的代码:

var choices = [""]

@IBOutlet weak var chosenLabel: UILabel!

@IBAction func randomiseButton(_ sender: Any) {
    let randomIndex = Int(arc4random_uniform(UInt32(self.choices.count)))
    let randomItem = self.choices[randomIndex]
    self.chosenLabel.text = "\(randomItem)"
}

@IBOutlet weak var enterLabel: UITextField!


@IBAction func submitButton(_ sender: Any) {
    let newItem = self.enterLabel.text
    self.choices.append(newItem!)
    self.enterLabel.text = ""
}

提前感谢您的帮助。顺便说一句,这并没有出现任何错误,但是当我在iPad上运行这个应用程序并输入内容时,它会正常工作,直到我点击随机,然后没有任何反应。 :(

1 个答案:

答案 0 :(得分:1)

好的,所以这很令人尴尬。我尝试了其他人的评论,没有人在工作。 @pdil说,"随机按钮是否正确连接到IBAction?"。我在该按钮中添加了一个打印功能,没有任何工作,所以我知道连接错误。事实证明我把我的按钮连接到标签上。我将把我最后使用的代码放在这里:

var choices = [String]()

@IBOutlet weak var chosenLabel: UILabel!

@IBAction func randomiseButton(_ sender: Any) {
    let randomIndex = Int(arc4random_uniform(UInt32(self.choices.count)))
    let randomItem = self.choices[randomIndex]
    self.chosenLabel.text = "\(randomItem)"
    print("testing")
}

@IBOutlet weak var enterLabel: UITextField!


@IBAction func submitButton(_ sender: Any) {
    let newItem = self.enterLabel.text
    self.choices.append(newItem!)
    self.enterLabel.text = ""
}

对此感到抱歉,感谢您的帮助:)