我对编码很新,并且想知道是否可以将我随机生成的数据保存到标签中。我可以随机生成数据并将其输入到标签中,但是我将以前的数据从标签保存到数组时遇到了困难。是否有可能做到这一点?它将如何完成?
基本上我希望用户能够在按下按钮的情况下返回标签中的上一个文本
感谢您的帮助。
代码:
这是我从包含引号
的数组生成随机变量的方法//right hand button tapped
@IBAction func RHSButton(_ sender: Any) {
// randomises variable to display
var randomQuote: String {
let randomNumber = Int(arc4random_uniform(UInt32(myQuotes.count)))
return myQuotes[randomNumber]}
quotesLabel.text = randomQuote
}
我希望能够将数据存储到名为:
的数组中var randomGeneratedQuotes : [String] = []
但我不太确定如何
答案 0 :(得分:1)
嗨,好像你想要撤消功能。
再取一个数组并添加所选的randomNumber
单击按钮显示数组的最后一个索引并将其从数组中删除。
答案 1 :(得分:0)
如果我理解正确,您可以在生成新的随机值之前将标签的值保存到randomGeneratedQuotes
数组中。
var randomQuote: String {
let randomNumber = Int(arc4random_uniform(UInt32(myQuotes.count)))
return myQuotes[randomNumber]
}
@IBAction func RHSButton(_ sender: Any) {
//If a value is present, save it
if let oldValue = quotesLabel.text {
randomGeneratedQuotes.append(oldValue)
}
//and update the value
quotesLabel.text = randomQuote
}
根据您之前的问题,我猜测您希望LHSButton
函数能够为您提供之前的值,这可能是这样的:
@IBAction func LHSButton(_ sender: Any) {
//Do we have a previous value?
if randomGeneratedQuotes.count > 0 {
//take that
let previousValue = randomGeneratedQuotes.removeLast()
//and use it
quotesLabel.text = previousValue
}
}
希望有效并且有所帮助。