Как я могу использовать UserDefaults для сохранения / извлечения строк, логических и других данных в Swift?
ios
swift
nsuserdefaults
userdefaults
Митхун Равиндран
источник
источник
Ответы:
ссылка: NSUserdefault objectTypes
Swift 3 и выше
хранить
Получить
удалять
Удалить все ключи
Swift 2 и ниже
хранить
Получить
удалять
регистр
например, определить приложение с момента запуска, создать структуру для сохранения запуска
Зарегистрируйте значения по умолчанию при запуске приложения:
удалить значение при завершении приложения:
и проверьте условие как
Имя пакета UserDefaults
еще одно имя набора свойств , в основном оно используется для концепции групп приложений , пример сценария, который я взял отсюда :
использование синхронизации userDefaults , подробная информация добавлена в повторяющийся ответ.
источник
Лучший способ использовать UserDefaults
меры
Образец
перечисление для ключей, используемых для хранения данных
Сохраните в UserDefaults где хотите
Получать данные в любом месте приложения
Удалить значения
Таким образом, вы можете хранить примитивные данные наилучшим образом.
Обновление. Для хранения значений не нужно использовать функцию synchronize (). Как @Moritz указал на ненужность и дал статью об этом. Подробнее читайте в комментариях.
источник
synchronize()
, это объяснено в документации. Это не только бесполезно, но и может замедлить доступ к настройкам по умолчанию.Swift 4 :
хранить
Получить
удалять
источник
источник
NSUserDefaults
Таким образом можно быстро использоватьисточник
synchronize()
команда используется для того,NSUserDefaults
чтобы убедиться, что ваши данные сохранены после выполнения блока изменений. Это могло быть более необходимо в iOS 7 и более ранних версиях, но в iOS 8 и более поздних версиях вам не следует вызывать synchronize () в большинстве ситуаций. Проверьте это для получения дополнительной информации: codingexplorer.com/nsuserdefaults-a-swift-introductionSwift 5 и выше:
:)
источник
Я сохранил NSDictionary нормально и смог правильно его получить.
// Для получения данных из NSDictionary.
источник
источник
UserDefault + Helper.swift
Использование:
Сохранить значение:
Получить значение:
Удалить значение:
источник
Я бы сказал, что ответ Анбу совершенно прекрасен, но мне пришлось добавить охрану при получении настроек, чтобы моя программа не сработала.
Вот обновленный фрагмент кода в Swift 5
источник
В классе
A
установите значение для ключа:В классе
B
получите значение текста, используя ключ, объявленный в классе,A
и назначьте его соответствующей переменной, которая вам нужна:источник
Swift 4, я использовал Enum для обработки UserDefaults.
Это всего лишь пример кода. Вы можете настроить его в соответствии с вашими требованиями.
Для хранения, извлечения, удаления. Таким образом, просто добавьте ключ для вашего ключа UserDefaults в перечисление. Обрабатывайте значения при получении и хранении в соответствии с типом данных и вашими требованиями.
Для сохранения значения в userdefaults,
Чтобы получить значение из userdefaults,
источник