Небольшой набор данных должен храниться и использоваться очень часто, а также сохраняться между сеансами или запусками приложений. Один из способов их хранения — использование локальной базы данных, такой как основные данные в приложении для iOS. Но основные данные полезны в случае таблиц и запросов. Есть еще один способ сохранить небольшой набор данных — UserDefaults.

This post was originally posted at https://agrawalsuneet.github.io/blogs/userdefaults-in-swift/ and reposted on Medium on 13th April 2022.

Давайте сначала попробуем понять, что такое UserDefaults.

Что такое UserDefaults

UserDefault используется для хранения небольших фрагментов данных, которые могут сохраняться между сеансами или запусками приложений. Такие вещи, как токен аутентификации, имя пользователя, идентификатор электронной почты, отображаемое имя, которые используются в сеансах, могут храниться в UserDefaults.

Как работает UserDefaults

UserDefaults хранит данные в паре ключ-значение, где ключ может быть строкового типа, а значение может иметь тип Int, Float, Double, Bool, String, Data, URL, Array, Dictionary и многое другое.

Информация будет храниться в формате .plist на локальном диске.

В настоящее время нет ограничений по размеру для хранения данных в UserDefaults, но обычно это предпочтительно только для небольшого размера данных.

Как использовать UserDefaults

Чтобы использовать UserDefaults, сначала получите стандартный объект UserDefault.

let defaults = UserDefaults.standard

стандарт является глобальным экземпляром NSUserDefaults или который доступен только для получения. Мы не можем установить какую-либо ссылку на него.

/**
+standardUserDefaults returns a global instance of NSUserDefaults configured to search the current application's search list.
*/
open class var standard: UserDefaults { get }

Запись данных в UserDefaults

Мы можем установить значение для любого ключа, используя функцию set для объекта UserDefault.standard. Метод set имеет несколько перегрузок, которые имеют одинаковую сигнатуру, но принимают разные параметры в качестве значения вместе с ключом String.

let defaults = UserDefaults.standard
//String Value
defaults.set("Suneet Agrawal", forKey: "stringKey")
//Int Value
defaults.set(1, forKey: "integerKey")
//Double Value
defaults.set(30.0, forKey: "doubleKey")
//Array Value
defaults.set([1,2,3], forKey: "intArrayKey")

Пожалуйста, продолжайте читать на https://agrawalsuneet.github.io/blogs/userdefaults-in-swift/

Это все на данный момент. Вы можете прочитать другие мои интересные блоги здесь или насладиться моими играми или приложениями, перечисленными здесь. Не стесняйтесь использовать мои компоненты Android с открытым исходным кодом в своем приложении, указанном здесь. Или напишите электронное письмо, если вы не нашли то, что ищете, и вам нужна помощь.