Как сохранить текст в UITextField?(Swift)
Заходишь в окно ввода данных заполняешь textField, но когда выходишь, данные пропадают, как их сохранить? Хочу, чтобы при выходе из этого окна, информация сохранялась:
Ответы (2 шт):
Именно для этого Вам можно использовать UserDefaults, так как данные небольшие. Во методе viewDidLoad извлекайте данные из UserDefaults и вставляйте их в текстовые поля. Это чтобы при открытии экрана они появлялись в полях. А для сохранения данных, в @IBAction вашей кнопки "Сохранить" добавьте сохранение содержимого каждого поля в соотвествующий ему, текстовой UserDefaults.
Есть несколько вариантов для решения вашей задачи.
I ) Использовать хранилище UserDefaults. Простой пример кода:
import UIKit
class ViewController: UIViewController {
// создаем хранилище UserDefaults:
let userDef = UserDefaults.standard
// аутлеты двух текстовых полей:
@IBOutlet weak var text1: UITextField!
@IBOutlet weak var text2: UITextField!
//кнопка для записи сохранения в UserDefaults введенных в текстовые поля значений:
@IBAction func saveButton(_ sender: Any) {
userDef.setValue(text1.text, forKey: "t1")
userDef.setValue(text2.text, forKey: "t2")
}
override func viewDidLoad() {
super.viewDidLoad()
//при запуске приложения значения для текстовых полей берутся из UserDefaults:
text1.text = userDef.string(forKey: "t1")
text2.text = userDef.string(forKey: "t2")
}
}
II ) Использовать Core Data - это не просто и не быстро :) Нужно долго тщательно изучать и реализовывать, в сети есть много мануалов и видео на эту тему. Core Data используют, если данных для хранения много.
III ) Использовать Realm - попроще и посовременнее (по мнению некоторых), но тоже нужно изучать... Realm используют, если данных для хранения много.

