Почему не записывается мое значение NSUserDefault? - PullRequest
1 голос
/ 18 апреля 2011

Я пытаюсь использовать NSUserDefaults для отслеживания некоторых рекламных данных в моем приложении для iOS, но он не работает, как я ожидал. Вот код ...

 NSString *promoID = [[[self currentPromo] allKeys] objectAtIndex:0];

 if(![[NSUserDefaults standardUserDefaults] boolForKey:[NSString stringWithFormat:@"promoid-%@", promoID]])
 {
     [[NSUserDefaults standardUserDefaults] setBool:YES forKey:[NSString stringWithFormat:@"promoid-%@", promoID]];
 .
 .
 .

Каждый раз, когда выполняется оператор if, выполняется код внутри. Разве код внутри этого оператора не должен выполняться только один раз?

Большое спасибо за вашу мудрость!

Ответы [ 2 ]

4 голосов
/ 18 апреля 2011

Зависит от того, как быстро вы пройдете через это снова.

NSUserDefaults не синхронизируются мгновенно.Если вы хотите сделать это, вам нужно позвонить [[NSUserDefaults standardUserDefaults] synchronize]; после установки значения.

1 голос
/ 18 апреля 2011

Используйте ключевое слово синхронизации для извлечения ваших данных в NSUserDefaults

[[NSUserDefaults standardUserDefaults] synchronize];

Это позволит получить и отобразить данные.

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