Вы можете сохранить массив после добавления текста в действие кнопки
@IBAction func submit_button(_ sender: Any) {
UserDefaults.standard.set(text.text!, forKey: "Submitted")
// append
nums.append("\(String(describing: text.text!))")
UserDefaults.standard.set(nums, forKey: "nums")
}
И для получения значения используйте
if let nums = UserDefaults.standard.array(forKey: "nums") as? [String] {
print(nums)
}
Или вы можете использовать свойство computed со свойствомНаблюдатель автоматически сохраняет массив в UserDefaults при добавлении нового значения.
class ViewController: UIViewController {
var nums: [String] {
get {
return UserDefaults.standard.array(forKey: "arrayValue") as? [String] ?? []
}
set {
UserDefaults.standard.set(newValue, forKey: "arrayValue")
}
}
@IBOutlet weak var text: UITextField!
@IBAction func submit_button(_ sender: Any) {
nums.append(text.text!)//Array updated in UserDefaults automatically
}
override func viewDidLoad() {
super.viewDidLoad()
print(self.nums)//Array fetched from UserDefaults
}
}