Массив не сохраняется при перезапуске приложения. Проблема с постоянными данными - PullRequest
1 голос
/ 15 апреля 2019

Я пытаюсь сохранить массив, и всякий раз, когда я перезагружаю приложение, массив становится пустым.

Я пробовал 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)
  }
}
}  

Я хочу иметь возможность сохранять массив при повторном запуске приложения и не иметь массиваначинать пустой каждый раз, когда приложение загружается.Моя проблема может заключаться в том, что я не знаю, где сохранить массив или как это сделать.

Я хочу иметь возможность сохранять массив при повторных запусках приложений и не иметь пустого массива при каждом запускеприложение загружено.

1 Ответ

0 голосов
/ 15 апреля 2019

Каждый раз, когда запускается 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)")
       }
    }
}
...