2011-09-27 61 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