J'ai un UIAlertController qui prend l'entrée de l'utilisateur. Je veux ajouter le texte que l'utilisateur a entré dans un tableau et enregistrer ce tableau dans l'utilisateur par défaut. Le problème est que le texte nouvellement entré remplace le texte entré précédemment. Donc je pense que ça ne sauve pas dans le tableau.Ajouter et enregistrer l'entrée UItextField au tableau
C'est ce que j'ai essayé jusqu'à présent:
func presentAlert() {
let confirmAction = UIAlertAction(title: "Save", style: .default) { (_) in
if let field = alertController.textFields {
// This is how I tried to create the array to hold input text
let textFieldArray = field as [UITextField]
let text = textFieldArray[0].text
var myArray = [""]
myArray.append(String(describing: text!))
UserDefaults.standard.set(myArray, forKey: "Gratitude")
UserDefaults.standard.synchronize()
print(myArray)
} else {
print()
}
}
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) { (_) in }
alertController.addTextField { (textField) in
//textField.placeholder = ""
}
alertController.addAction(confirmAction)
alertController.addAction(cancelAction)
self.present(alertController, animated: true, completion: nil)
}
Vous écrivez un tableau d'une chaîne à chaque fois. Cela remplace tout ce qui a pu être là avant. – rmaddy
@ rmaddy merci pour votre réponse, je @Micheal réponse pour résoudre mon problème. –