Делать математику на NSUserDefaults и заново сохранять - не работает - PullRequest
2 голосов
/ 03 марта 2011

Я выполняю следующий код для сохранения общего количества отправленных байтов:

NSUInteger bytes = 10;  
int newBytes = bytes+[[NSUserDefaults standardUserDefaults] integerForKey:@"TotalBytes"];
NSLog(@"newBytes %i", newBytes);

[[NSUserDefaults standardUserDefaults] setInteger:newBytes forKey:@"TotalBytes"];
[[NSUserDefaults standardUserDefaults] synchronize];

NSLog(@"%i", [[NSUserDefaults standardUserDefaults] integerForKey:@"TotalBytes"]);

Кажется, что Math работает нормально, newBytes выводит правильное число, затем, когда я запускаю команду синхронизации, снова NSLogвозвращает правильное значение.Однако, когда этот код запускается во второй раз, значение ключа по-прежнему устанавливается на прежнее значение и не сохраняется.

Я что-то действительно глупое делаю здесь?Помогите!?! * * 1006

1 Ответ

3 голосов
/ 03 марта 2011

@ mootymoots: в вашем коде нет ничего плохого, я пробовал это как в симуляторе, так и в iTouch, он записывал и считывал новое значение +10 ... я также пытался запустить свое приложение непосредственно в iTouch (не через xCode)и когда я снова запустил через xCode значение было +10 * nTimes, я использовал приложение ...

так ... вы уверены, что пишете на standardUserDefaults JUST с этим кодом?

попробуйте "menu: edit: find: find in project" в xcode и найдите standardUserDefaults ...

, и вы также можете попробовать "menu: build: clean all target" ...

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