【发布时间】:2019-11-06 05:51:06
【问题描述】:
对于每个使用UserDefaults 的UITextView,我都创建了一个保存函数和一个显示函数。
无论添加什么text都需要在添加时显示,保存后再打开应用时再次显示。
如果我安装的应用程序只有保存功能,请退出应用程序并添加要显示的功能,然后重新安装而不删除已安装的应用程序,一切正常。
如果我安装添加了这两个功能的应用程序,它就不起作用。
必须有一个简单的解决方案,我显然做错了什么。
来自textView 的数据用于计算结果,然后显示在另一个textView 上。
所有数据都是用其他功能添加的,用户没有。
numberHistoryView.isEditable = false
numberHistoryView.isSelectable = false
func saveHistoryTextView()
{
let defaults = UserDefaults.standard
let numberHistory = numberHistoryView.text
defaults.set(numberHistory, forKey: "combos")
}
func displaySavedHistory()
{
let defaults = UserDefaults.standard
let savedCombos = defaults.object(forKey: "combos") as? String ?? ""
numberHistoryView.text = savedCombos
}
func saveFrequencyTextView()
{
let defaults = UserDefaults.standard
let numberFrequency = numberFrequencyCount.text
defaults.set(numberFrequency, forKey: "frequency")
}
func displaySavedFrequency()
{
let defaults = UserDefaults.standard
let savedFrequency = defaults.object(forKey: "frequency") as? String ?? ""
numberFrequencyCount.text = savedFrequency
}
override func viewWillDisappear(_ animated: Bool)
{
saveHistoryTextView()
saveFrequencyTextView()
}
override func viewWillAppear(_ animated: Bool)
{
displaySavedHistory()
displaySavedFrequency()
}
【问题讨论】:
-
不相关但 UserDefaults 中有
string(forKey: -
@Superlative 请检查简单的解决方案:stackoverflow.com/a/58724094/6197968
-
您说“我安装的应用程序添加了两个功能它不起作用”您所说的不起作用是什么意思?它不会给出任何价值还是给出旧值?
-
textView 中没有显示任何内容
-
全新安装后或第二次将值保存到 UserDefault 后不会显示?
标签: ios swift uitextview userdefaults