线程1:EXC_BAD_ACCESS(code = 2,address = 0x38)

线程1:EXC_BAD_ACCESS(code = 2,address = 0x38)

问题描述:

我在Xcode上有这个错误,有什么想法吗?线程1:EXC_BAD_ACCESS(code = 2,address = 0x38)

[[NSUserDefaults standardUserDefaults] setInteger: *(highScore) forKey: @"retry"]; 

我要救highScore在默认数据库,retry一个按钮

+1

你需要给一些更多的细节。如何定义'highScore'?你会收到异常消息吗? – Wain

+0

highScore是财产(nonatomic)NSInteger * highScore;在.h文件中,并合成highScore;在.m文件中。 @Wain – Nart

+1

它为什么是一个指针? – Wain

没有理由为你的整数存储为一个指针。您的属性更改为:

@property (nonatomic, assign) NSInteger highScore; 

你也不需要合成,所以删除(编译器会为你和它做了更好的工作)。

然后更改用户默认代码:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setInteger:highScore forKey:@"retry"]; 
[defaults synchronize]; 
+0

谢谢,非常感谢@Wain – Nart