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

标签 arrays swift save persistence

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

我已经尝试过 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)
  }
}
}  

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

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

最佳答案

每次 userSubmit(...) 将被触发时,它将检查 selected 的值,如您的示例所示,检查是否有一些 Double 数据在 glucosReading.text 中,然后检索保存在 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)")
       }
    }
}

关于arrays - 当应用程序重新启动时,数组不会保存。持久数据的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55694914/

相关文章:

javascript - 排序功能改变副本和原始

IOS运行自定义shell脚本 'embed pods framework'文件未找到错误

java - 在这种情况下保存响应集的更好方法是什么?

java - 在 Java Swing 中保存文件时检查文件是否存在

c - 如何正确地将 char 数组复制到 char 数组?

python - 写入文件、读取文件并使用不同的模块调用它们

java - 通过命令行将空数组传递给 Dropwizard

swift - 更改 GoogleService-Info.plist 文件名后未记录 Firebase 数据

ios - 无法将 UIScrollView 设置为在 UITableViewCell 中滚动

NetBeans 7.3.1 FTP 保存时上传文件