Zak*_*aki 1 iphone xcode objective-c cocos2d-iphone
请有人帮帮我.我试图使用下面的代码在屏幕上显示我的游戏的高分和分数,但我得到这些值
高:327178665342
得分:89254400
这与我在hud显示屏上的实际分数不一致.
这是我用来检索和显示分数的代码:
-(id)init{
self = [super init];
if (self != nil) {
int score;
_score = score;
self.scoreLabel.string = [NSString stringWithFormat:@"Score: %d",_score];
// 6
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger highScore = [defaults integerForKey:@"BatHighScore"];
// 7
if(score >= highScore) {
highScore = score;
[defaults setInteger:score forKey:@"BatHighScore"];
[defaults synchronize];
}
self.highScoreLabel.string = [NSString stringWithFormat:@"High: %d",highScore]
}
return self;
}
@end
Run Code Online (Sandbox Code Playgroud)
我在这里做错了吗?
小智 5
您可能永远不会score在代码中初始化并获得垃圾值.
int score; // garbage
_score = score;
Run Code Online (Sandbox Code Playgroud)
尝试score使用默认值初始化,您应该获得更好的结果.
你在这里想要完成的事情并不是很清楚,也许你想要定义一个像这样的指定初始化器:
-(id)initWithScore:(NSInteger)score {
self = [super init];
if (self != nil) {
_score = score;
// ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |