gpt4 book ai didi

iOS 'reportAchievementWithCompletionHandler' 弃用

转载 作者:行者123 更新时间:2023-11-29 12:13:26 27 4
gpt4 key购买 nike

部分代码(我没有写)在我的 Xcode 项目中显示为已弃用,这是代码块:

#pragma mark - Report Achievement Progress
static int reportAchievement(struct lua_State *state) {
[gameCenterAddOnInstance reportAchievementAction:[NSString stringWithCString:lua_tostring(state, 1) encoding:NSUTF8StringEncoding] percentComplete:(int)lua_tointeger(state, 2)];

return 1;
}

- (void) reportAchievementAction: (NSString*) identifier percentComplete: (float) percent
{
GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier];
if (achievement)
{
achievement.percentComplete = percent;
[achievement reportAchievementWithCompletionHandler:^(NSError *error)
{
if (error != nil)
{
NSLog(@"Error in reporting achievements: %@", error);
}
}];
}
}

根据Xcode,折旧部分是:

reportAchievementWithCompletionHandler

Xcode 建议使用:

reportAchievements:WithCompletionHandler:

相反。但是,不熟悉 Objective-C ,我不知道从哪里开始。

如何实现新功能?

最佳答案

试试这个

[GKAchievement reportAchievements:@[achievement] withCompletionHandler:^(NSError *error)
{
if (error != nil)
{
NSLog(@"Error in reporting achievements: %@", error);
}
}];

Apple 将实例方法 - reportAchievementWithCompletionHandler: 替换为类方法 + reportAchievements:withCompletionHandler:。这允许您一次报告多个成就,而不必在每个成就对象上调用实例方法。

@[achievement][NSArray arrayWithObjects:achievement, nil] 的简写。

关于iOS 'reportAchievementWithCompletionHandler' 弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32617787/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com