Почему не рекомендуется сохранять данные UIImage в UserDefaults? - PullRequest
0 голосов
/ 31 октября 2019

Мне интересно, почему хранение изображений профиля пользователя как Data по умолчанию не рекомендуется. Причина в том, что я уже создал приложение, которое используют некоторые люди. Приложение требует, чтобы пользователи создали профиль, на который они могут загрузить до 6 изображений профиля. Изображения передаются на мой сервер, а также сохраняются как Data по умолчанию для пользователя приложения.

Я прочитал, что лучше сохранить эти изображения в каталог документов и сохранить путь к файлу какстрока для пользователя по умолчанию. Почему это точно? Разве это так сложно, что я должен уделить время написанию кода, который преобразует изображения, сохраненные как Data, в пользовательские настройки по умолчанию на уже существующих устройствах в изображения, сохраненные в каталоге документов?

1 Ответ

1 голос
/ 31 октября 2019

«Почему» легко. UserDefaults не является базой данных. Это просто файл plist . Либо все загружается в память сразу, либо нет. Если это так, то все ваши объекты данных UIImage находятся в памяти. Память ограничена, а изображения большие. Кроме того, вы тратите время на загрузку и сохранение.

Вопрос о том, что это такое большое дело, является вопросом мнения. По моему мнению, да, это так. Это потому, что я прошел через этот процесс, и я был рад, что я сделал. Да, это трудоемкий код миграции, но как только вы это сделаете, вы просто оставите его на месте, и ваше приложение теперь корректно обрабатывает сохранение данных навсегда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...