我正在尝试保存一个数组,每当我重新加载应用程序时,该数组都是空的。
我尝试了userDefaults和核心数据。每次构建数组时,加载应用程序时数组都会开始为空。我不确定在哪里保存数组,以及通过IBAction添加到数组是否会引起问题
firstArray: [Double] = []
@IBAction func userSubmit(_ sender: Any) {
oneArray()
func oneArray(){
if selected == "Breakfast" {
if let firstArrays = Double(glucoseReading.text!) {
//append new element to Array
firstArray.append(firstArrays)
print(breakfastSugarsArray)
}
}
}
我希望能够在应用程序重新启动时保存该数组,并且不希望每次加载应用程序时该数组都开始为空。我的问题可能是我不知道将数组保存在哪里或如何保存。
我希望能够在应用程序重新启动时保存该数组,并且不希望每次加载应用程序时该数组都开始为空。
答案 0 :(得分:0)
每次触发userSubmit(...)
时,都会像您的示例一样检查selected
的值,检查glucosReading.text
中是否有一些Double数据,然后检索数组保存在UserDefault中,并使用新值进行更新。
@IBAction func userSubmit(_ sender: Any) {
if selected == "Breakfast" {
if let glucoseData = Double(glucoseReading.text!) {
// retrieve from UserDefault if none create an empty array
let glucoseListData = UserDefaults.standard.array(forKey: "glucoseListData") as? [Double] ?? [Double]()
// store in UserDefault
glucoseListData.append(glucoseData)
UserDefaults.standard.set(glucoseListData, forKey: "glucoseListData")
// check print outputs in Xcode logs
println("Glucose data list: \(glucoseListData)")
}
}
}