通过增加而不是替换它来报告成就进度

时间:2014-03-20 16:17:57

标签: objective-c report

我无法报告成就。我想做以下事情: 当我提交1%的成功进展时,我想增加实际进度而不是替换它。 因此,如果我提交1%并且用户已经有4%,那么它必须是5%而不是1%。有没有办法做到这一点? 这是我的实际报告代码:

+(void)reportachivementwithidenfitier:(NSString *)identifier percentcompleted:(float)percent{
    NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];

    if ([defaults boolForKey:@"localplayeravailable"]) {
    GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier];
    if (achievement)
    {
        achievement.percentComplete = percent;
        achievement.showsCompletionBanner=YES;
        NSArray *achivments=[[NSArray alloc]initWithObjects:achievement,nil];
        [GKAchievement reportAchievements:achivments withCompletionHandler:^(NSError *error){
            if (error!=nil) {
                NSLog(@"Achievement Submission failed with error:%@",[error description]);
            }
            else
            {
                NSLog(@"Achievement Succesfully reported");
            }
        }];
    }
}

1 个答案:

答案 0 :(得分:1)

在这一行:

achievement.percentComplete = percent;

您将其设置为新值。只需将值添加到其中,如下所示:

achievement.percentComplete += percent;