2011-09-27 75 views
1

我正在尝试为我的iOS应用添加终身成就。也就是说,自从他第一次玩游戏以来,用户执行单次动作的次数是多少次。换句话说,自从......有多少次杀人后,我使用的是基于苹果公司提供的一个代码:iOS游戏中心:创造终身成就

.h文件中:

int64_t lifetimeScore; 

IBOutlet UILabel *lifetimeScoreLabel; 

.m文件:

- (IBAction) increaseScore { 
    self.lifetimeScore = self.lifetimeScore + 1; 
    lifetimeScoreLabel.text = [NSString stringWithFormat: @"%ld", self.lifetimeScore]; 

    // Saving the Score: 

    NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setInteger:lifetimeScore forKey: @"Score"]; 
    [defaults synchronize]; 


    [self checkAchievements]; } 


- (void)viewDidLoad { 
    [super viewDidLoad]; 

// Loading the Lifetime Score: 

    self.lifetimeScore = [[NSUserDefaults standardUserDefaults] integerForKey: @"Score"]; 

    lifetimeScoreLabel.text = [NSString stringWithFormat: @"%ld", self.lifetimeScore]; 


(...) 
} 

我的伟大工程,没有警告,但每次我关闭了应用程序,将其从Multitask栏中删除并再次打开应用程序,lifetimeScore回到零。我试图保存int_64使用NSUserDefaults,但到目前为止,我不能让它工作...任何想法?

编辑:代码是固定的,现在它的工作100%,以防万一任何人想要使用它。完整的源代码可以在这里找到:http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-game-center-achievements-and-leaderboards-part-2/

+2

如果最后一行说@“商店”或@ “得分了”?也许它正在工作,它只是无法找到关键。 – AndyD273

+0

谢谢!好消息:这是问题!坏消息:失去2个小时试图找到错误,这是一个拼写错误... – tomDev

+1

没问题,很高兴它是简单的:)我还没有搞乱游戏中心。 – AndyD273

回答

1

@“商店”应该是@“分数”,只是这样我就可以得到点... :)

+0

你懂了! :d – tomDev