Требуется помощь по сохранению и загрузке данных с использованием NSUserDefaults - PullRequest
2 голосов
/ 15 сентября 2011

Я работаю над новым приложением для iPhone и в данный момент пытаюсь сохранить и загрузить рекорды, используя NSUserDefaults.Мой вопрос: какой именно код я должен использовать, чтобы назначить сохраненные результаты в переменную highscorespointer1, которая является указателем на NSInteger?В настоящее время я использую код, показанный ниже:

Здесь я сохраняю рекорд.Обратите внимание, что переменная highscore1 имеет тип NSInteger:

-(IBAction)saveData{
      NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setInteger:highscore1 forKey:@"H1"];
    [defaults synchronize];
           }

И вот я загружаю рекорд. Но я получаю это предупреждение: «Назначение из несовместимого типа указателя»:

highscorepointer1 =  [[NSUserDefaults standardUserDefaults] objectForKey:@"H1"];

1 Ответ

1 голос
/ 15 сентября 2011

Метод setInteger:forKey устанавливает int, а не int *, что означает, что он устанавливает значение, а не указатель. Убедитесь, что ваш highscorepointer1 является int, а не int *. В любом случае не имеет смысла сохранять указатель на целое число, но само действительное целое число должно быть сохранено. Надеюсь, что поможет!

...