[英]Unable to save user made Array to UserDefaults
我正在制作第一個具有待辦事項清單的應用程序。 列表項存儲在數組中並顯示在“表視圖”中,但是在關閉應用程序時,這些項不再存在。 我嘗試使用“用戶默認設置”保存項目,但到目前為止尚未奏效。 我究竟做錯了什么? 我正在嘗試使用保存數據的按鈕。
///button to save the data
@IBAction func savelist(_ sender: Any) {
let defaults = UserDefaults.standard
defaults.set(list, forKey: "SavedArray")
myTableView.reloadData()
}
//// retrieving the data
override func viewDidLoad()
{
super.viewDidLoad()
let defaults = UserDefaults.standard
let array = defaults.stringArray(forKey: "SavedArray") ?? [String]()
myTableView.reloadData()
}
我也這樣做了,所以當我按下保存按鈕時,該數組將被打印到控制台上,這樣我就知道這些項目正在添加到該數組中。 問題是我無法保存這些項目。 謝謝!
我解決了這個問題:我的數組叫做列表,但是,在關閉我正在使用的應用程序后檢索數據時
let array = defaults.stringArray(forKey: "SavedArray") ?? [String]()
所以我將其更改為:
list = defaults.stringArray(forKey: "SavedArray") ?? [String]()
我還添加了以前答案的建議。 我將默認值設置為全局變量,並添加了
defaults.synchronize()
按鈕動作
您的問題似乎不是要檢索字符串數組,而是將元素添加到數組中。
如果還沒有定義為[String],請考慮定義列表:
var list = [String]()
如果要向數組添加元素,請使用以下命令:
list.append(txtField.text!)
希望這能解決您的問題。 祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.