Подтвердить что ты не робот

Лучшая практика синхронизации NSUserDefaults

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

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