Objective c 使用NSUserDefaults时执行错误访问
在NSUserDefaults中写入时出错 线程1:执行错误访问(代码=1,地址=0x2166b8f5) 我在谷歌上找到了它,但找不到任何其他线索来解决 我的iOS版本是7.0.4,xcode是5.1.1 我的源代码如下所示Objective c 使用NSUserDefaults时执行错误访问,objective-c,Objective C,在NSUserDefaults中写入时出错 线程1:执行错误访问(代码=1,地址=0x2166b8f5) 我在谷歌上找到了它,但找不到任何其他线索来解决 我的iOS版本是7.0.4,xcode是5.1.1 我的源代码如下所示 CCLOG(@"%@",message); NSNumber *highScore = [[NSUserDefaults standardUserDefaults] objectForKey:@"highscore"]; if (self.score > [highS
CCLOG(@"%@",message);
NSNumber *highScore = [[NSUserDefaults standardUserDefaults] objectForKey:@"highscore"];
if (self.score > [highScore intValue]) {
// new highscore!
highScore = [NSNumber numberWithInt:self.score];
//something bad in this code.
[[NSUserDefaults standardUserDefaults] setObject:highScore forKey:@"highscore"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
为什么要先创建NSN编号?这是在主线程上运行的吗?什么是self.score(定义和记录的值)?如果你记录它,highScore的值是多少?@JamalZafar根据屏幕截图,值是4988。堆栈跟踪或“启用僵尸对象”会有帮助:D