Ответ
Постоянное хранилище (Persistent Storage) в iOS — это механизм сохранения данных приложения между его запусками и даже после перезагрузки устройства. Данные хранятся во внутренней памяти устройства.
Основные технологии:
| Технология | Назначение | Пример использования |
|---|---|---|
| UserDefaults | Простые ключ-значения (настройки, флаги). | Сохранение выбранной пользователем темы. |
| Файловая система (FileManager) | Произвольные файлы (документы, изображения, кэш). | Сохранение загруженного PDF-документа. |
| Core Data | Объектно-графовая и реляционная модель. Сложные структурированные данные. | Приложение для учета задач или каталог товаров. |
| SQLite | Реляционная база данных (часто через обертку, например, GRDB). | Аналогично Core Data, с прямым SQL-контролем. |
| Keychain | Безопасное хранение чувствительных данных (пароли, токены). | Токены аутентификации (OAuth, JWT). |
Примеры кода:
-
UserDefaults:
// Запись UserDefaults.standard.set("dark", forKey: "appTheme") // Чтение let theme = UserDefaults.standard.string(forKey: "appTheme") -
Сохранение файла в Documents:
let fileURL = FileManager.default .urls(for: .documentDirectory, in: .userDomainMask)[0] .appendingPathComponent("data.json") let data = "{"key": "value"}".data(using: .utf8)! try data.write(to: fileURL)
Важно: Данные в постоянном хранилище удаляются вместе с приложением, кроме данных в Keychain, которые могут сохраняться (при соответствующей настройке kSecAttrAccessGroup).