你好这个应用程序在文本字段中接受用户输入,当按下按钮时,它会在屏幕上显示单词。当我尝试在列表中添加一个新词时,我的旧词条会被新词条删除。我怎么能不删除东西而只保留我的所有数据..谢谢!
导入 UIKit
class ViewController: UIViewController {
@IBOutlet weak var textLabel: UITextField!
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
textLabel.becomeFirstResponder()
}
@IBAction func button(_ sender: Any) {
label.text = textLabel.text
textLabel.text = ""
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
textLabel.resignFirstResponder()
}
}
答案 0 :(得分:0)
解决此问题的正确方法是拥有一个包含单词列表的数据源,而不是尝试将单词直接从一个 UI 组件移动到另一个组件。为此,我们可以使用 String 属性或 Array (of String) 属性。我将使用一个数组。
var words = [String]()
然后在您的 button
函数中使用它
@IBAction func button(_ sender: Any) {
//Check that the user has actually entered something otherwise exit
guard let newWord = textLabel.text, !newWord.isEmpty else { return }
//Add the new word to the data source
words.append(newWord)
//Generate a new list of words from the data source
label.text = words.joined(separator: ", ")
textLabel.text = ""
}
答案 1 :(得分:0)
您可以通过两种不同的方式来做到这一点。
1:您将结果存储在一个数组中,例如:
words.append(textLabel.text)
然后:label.text = words.joined(by: ", ")
2:直接添加
label.text = label.text + ", " + textLabel.text