2017-10-15 2 views
0

J'essaie d'ajouter et de sauvegarder une série de chaînes en utilisant UserDefaults, mais mon code remplace les données au lieu d'ajouter à la matrice chaque fois qu'elle est appelée, que suis-je? disparu?Comment ajouter de la valeur au tableau par défaut de l'utilisateur avec swift 4

if Plus == true 
    { 

     if typeOfMath != [""] 
     { 

     typeOfMath.append("Addition") 
     UserDefaults.standard.set(typeOfMath, forKey: "typeMath") 
     print ("\(typeOfMath)") 
     typeOfMath = [""] 

     } 
    } 

Répondre

1

Puisque vous essayez de définir à chaque fois que la valeur UserDefaults, elle écrasera en fait la valeur de la clé.

Ce que vous devez faire est:

  1. Lire le tableau existant dans UserDefaults
  2. Append nouvelle valeur à ce tableau
  3. Ecrire ce tableau Retour à UserDefaults.
+0

L'a reçu! Je vous remercie! J'ai ajouté si var = mathData UserDefaults.standard.stringArray (forKey: "typeMath") { mathData.append ("\ (typeOfMath)") typeOfMath = mathData } mes données ressemble à ceci: [ "addition", "[\" Addition \ "]", "[\" Addition \ "]"], comment puis-je me débarrasser des parenthèses pour qu'il ressemble à ["Addition", "Addition", "Addition"]? –

+0

@ Daniel.wu Je pense que vous pouvez utiliser ce 'mathData.append (contentsOf: typeOfMath)' – 3stud1ant3

+0

qui a fonctionné! Je vous remercie! –