我正在开发一个新的iPhone应用程序,目前我正在尝试使用NSUserDefaults保存和加载高分。 我的问题是:我应该使用什么代码将我保存的高分数分配给名为highscorespointer1的变量,这是一个指向NSInteger的指针? 我目前正在使用下面显示的代码:
我在这里保存高分。请注意,变量highscore1的类型为NSInteger:
-(IBAction)saveData{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:highscore1 forKey:@"H1"];
[defaults synchronize];
}
在这里我正在加载高分。但是我得到这个警告:“从不兼容的指针类型分配”:
highscorepointer1 = [[NSUserDefaults standardUserDefaults] objectForKey:@"H1"];
答案 0 :(得分:1)
setInteger:forKey
方法设置int
,而不是int *
,这意味着它设置了值,而不是指针。确保您的highscorepointer1
是int
,而不是int *
。将指针保存到整数是没有意义的,但应该保存实际的整数本身。希望有帮助!