NSUserDefaults не сохраняется в симуляторе? - PullRequest
3 голосов
/ 17 мая 2011

Мои [NSUserDefaults standardUserDefaults] не сохраняются. Все, что я закрываю приложение и запускаю его снова, оно возвращается назад. У меня нет под рукой моего устройства iOS, поэтому я не уверен, произойдет ли это на устройстве, но ни одно из других приложений не делает этого в симуляторе, что наводит меня на мысль, что с моим кодом что-то не так. Я не знаю, какую часть кода мне следует сюда включить, это просто простые ключи добавления / изменения в nsuserdefaults и, как я уже сказал, он прекрасно работает во время приложения, но не после того, как я перезапущу его ...

Я знаю, что могу позвонить synchronize, но Apple советует против этого и говорит, что я должен звонить, только если это необходимо ... так.

Что может быть не так? Спасибо.

Ответы [ 3 ]

8 голосов
/ 17 мая 2011

Возможно, ваш процесс некорректно завершен, поэтому NSUserDefaults не может быть сохранен.См. Также это и в основном это .

Во втором посте, на который я ссылаюсь, предлагается позвонить synchronize в applicationDidEnterBackground:

Помните также, что прекращение работы вашего приложения путем его остановки в XCode чаще всего не сохраняет настройки пользователя по умолчанию.

0 голосов
/ 17 мая 2011

Я не мог понять, как вы обращаетесь к NSUserDefault. Статическая функция, которую вы использовали sharedDefaults с NSUserDefault, не существует в документации Apple

Используйте как показано ниже для доступа NSUserDefault

[NSUserDefaults standardUserDefaults];

Подробнее читайте в блоге об использовании NSUserDefault.

Руководство по программированию iPhone - сохранение / получение данных с использованием NSUserDefaults

0 голосов
/ 17 мая 2011

Перезапускаете ли вы из Xcode / отладчика?Попробуйте сначала отправить приложение в фоновый режим с помощью кнопки «Домой».Я думаю, что рамки синхронизируются автоматически тогда.

...