Цель [default synchronize];
состоит в том, чтобы пользовательские значения по умолчанию записывались на диск немедленно . Вам не нужно называть это явно, iOS уже делает это в соответствующие моменты. Таким образом, вы можете удалить эту строку. На самом деле, это проблема производительности, если вы звоните synchronize
каждый раз, когда устанавливаете значение по умолчанию.
До iOS 7 пользовательские настройки по умолчанию всегда синхронизировались при переходе приложения в фоновый режим. Начиная с iOS 7, это больше не так, поэтому вы можете вызвать synchronize
в делегате вашего приложения applicationDidEnterBackground:
или зарегистрироваться для уведомления UIApplicationDidEnterBackgroundNotification
, чтобы сделать это.
С документация для -[NSUserDefaults synchronize]
:
Поскольку этот метод вызывается автоматически с периодическими интервалами, используйте этот метод только в том случае, если вы не можете ждать автоматической синхронизации (например, если ваше приложение собирается завершиться) или если вы хотите обновить пользовательские настройки по умолчанию до того, что включено диск, даже если вы не внесли никаких изменений.