当应用程序重新启动时,数组不会保存。持久数据的问题

Array is not saving when the app relaunches. Problem with persistent data

我正在尝试保存一个数组,但每当我重新加载应用程序时,该数组都是空的。

我试过 userDefaults 和 core Data。每次我构建一个数组时,当我加载应用程序时它开始为空。我不确定将数组保存在何处以及是否通过 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)
  }
}
}  

我希望能够在应用程序重新启动时保存数组,而不是在每次加载应用程序时都让数组开始为空。我的问题可能是我不知道将数组保存到哪里,或者如何保存。

我希望能够在应用程序重新启动时保存数组,而不是在每次加载应用程序时都让数组开始为空。

每次 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)")
       }
    }
}