Лучшие практики для синхронизации NSUserDefaults - PullRequest
37 голосов
/ 09 апреля 2011

Я использую [[NSUserDefaults standardUserDefaults] synchronize] каждый раз, когда пишу что-либо в список.Это излишне?Или в этом есть побочные эффекты?

Ответы [ 2 ]

52 голосов
/ 09 апреля 2011

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

6 голосов
/ 20 мая 2015

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

Частый вызов этого параметра может вызвать проблемы с производительностью, ноэто не излишество, если это небольшое приложение (как уже упоминалось) ИЛИ если вам действительно нужно, чтобы ваш plist был в курсе изменений, внесенных в текущий поток, или изменений, внесенных в какой-то другой поток в приложении.

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

Вероятно, единственным неблагоприятным эффектом, который вы можете заметить, является незначительное снижение производительности.

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