我敢打赌,对大多数人来说,这是一个非常简单的问题,所以我会很快。基本上我的Swift应用程序生成一个随机单词,我希望用户能够选择标记为1
2
和3
的按钮,然后将该单词保存到该特定数字中。阵列。稍后(包括在应用程序关闭之后等),用户可以查看他们为其分配号码的所有单词。我知道它涉及创建一个新类并将相应的数组放在那里,但我真的不知道从哪里开始,所以任何帮助都表示赞赏。很抱歉,如果您不清楚这一点,那么您可以说我对Swift /编程很陌生。截至目前,我所有与应用程序的这一部分相关的是按钮:
var chosenNumber : String = ""
@IBAction func chosenOne(_ sender: Any) {
chosenDifficulty = "one"
}
@IBAction func chosenTwo(_ sender: Any) {
chosenNumber = "two"
}
@IBAction func chosenThree(_ sender: Any) {
chosenNumber = "three"
}
谢谢
答案 0 :(得分:1)
创建一个computedProperty在ViewController中保存是否有新值,并在viewController中的任何位置访问它时返回保存的值:
var savedWords: [String: Any]? {
set{
guard let value = newValue else {
UserDefaults.standard.removeObject(forKey: "SavedWords")
UserDefaults.standard.synchronize()
return
}
UserDefaults.standard.set(value, forKey: "SavedWords")
UserDefaults.standard.synchronize()
}
get{
return UserDefaults.standard.string(forKey: "SavedWords") as? [String: Any]
}
}
和一个字典,其中包含您要添加/删除的当前字词的键值对
var currentWords: [String: Any]? = ["button1": "one","button2": "two","button3": "three"]
现在,只要点击您的按钮,您就可以通过以下方式将特定单词添加到与currentButton键相关联的 currentWords 词典中:
currentWords["button1"] = /*selectedValue from button*/
分配后如果要保存 currentWords ,只需执行
self.savedWords = currentWords
如果要检索已保存的词并将其分配给currentWords,您只需执行以下操作:
self.currentWords = savedWords