Skip to content

Latest commit

 

History

History
28 lines (15 loc) · 3.48 KB

4.2.3.1.1 DataPersistance.md

File metadata and controls

28 lines (15 loc) · 3.48 KB

Data Persistance - хранение объектов данных

Все возможные систем постоянного хранения (Persistence) в iOS:

  • UserDefaults. Чаще используется, когда нужно сохранить небольшой объем данных (менее 100 КБ). Ограниченная (только Property Lists);

  • Codable / JSON. Понятный способ преобразования практически любой структуры данных в формат JSON обмена данными и наоборот;

  • UIDocument. Интегрирует приложение Files и данные, воспринимаемые пользователем как «документы” в ваше приложение. До iOS 13 являлся UIKit ориентированным, в iOS 14 в SwiftUI 2.0 появился DocumentGroup;

  • Core Data Мощная. Объектно-ориентированная. Элегантная интеграция со SwiftUI

Используется для больших моделей данных, управления каскадными обновлениями, версионирования, работы с графами объектов. Хорошей литературы мало, но пару ресурсов можно посоветовать: обзор на YouTube. Важно отметить, что CloudKit отлично работает с Core Data, так что данные, сохраненные в Core Data, могут также появиться на всех устройствах пользователя;

  • Realm

  • Cloud Kit. Запоминание данных в базе данных, расположенной в «облаке» (то есть в интернете), которая работает полностью асинхронно. Следовательно, данные появляются на любых устройствах пользователя. Это очень простая в использовании база данных, у нее есть основные операции базы данных, но не такие полноценные как у Core Data, однако она отлично работает с Core Data (так что ваши данные в Core Data могут также появиться на всех устройствах);

  • FileManager/URL/Data. Запоминание данных в Unix файловой системе в iOS;

  • Keychain - представляет собой зашифрованную базу данных, куда сохраняются небольшие объемы конфиденциальной пользовательской информации: пароли, данные платежных карт, токены авторизации и так далее. API достаточно простой, для понимания будет достаточно одной статьи.

Все эти способы хранения, за исключением Codable / JSON, имеют API ещё ДО-Swift эпохи;


4.2.3 Persistence Theme Folder | Back To iOSWiki Contents | 4.2.3.2 iOS Data Persistance