Im работает над игрой BlackJack, и у меня возникли проблемы с поиском правильного способа сохранения и загрузки имени с именем PlayerMoney с использованием NSNumbers и NSUserDefaults.Сохранение и загрузка NSNumber
Вот как Im пытается загрузить значения
-(void)createSceneContents {
//Load ---------------------------------------------------------
NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults];
NSNumber *PlayerMoneyLoad = [Defaults objectForKey:@"PlayerMoneySave"];
self.PlayerMoney = PlayerMoneyLoad;
NSLog(@"PlayerMoneyLoad:%@", PlayerMoneyLoad);
NSLog(@"PlayerMoney:%@", self.PlayerMoney);
и здесь, где я пытаюсь сохранить его
//Save ---------------------------------------------------------
NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults];
NSNumber *PlayerMoneySave = [NSNumber numberWithInt:self.PlayerMoney];
[Defaults setObject:PlayerMoneySave forKey:@"PlayerMoneySave"];
[Defaults synchronize];
, прежде чем я добавил линию
self.PlayerMoney = PlayerMoneyLoad;
Saving был но при загрузке игры «NSNumber PlayerMoneyLoad» не передаст значение «int PlayerMoney». Теперь, когда я добавил эту строку, когда игра сохраняется, кажется, что она выбирает случайное число где-то около 150000000, любая помощь ценится.
Спасибо, я думаю, что сейчас у меня это работает. – nick
Использование 'NSNumber' не требуется. См. Мой ответ. Тем не менее, используйте современный синтаксис. Первая строка может быть просто: 'NSNumber number = @ 10;'. Или с переменной она будет: 'NSNumber number = @ (self.PlayerMoney);'. – rmaddy