如何报告 Swift 的成就?
How to report an achievement in Swift?
基本上我是在 Game Center 内报告成就。这是 Objective-C 中执行此操作的代码:
(void) reportAchievementIdentifier: (NSString*) identifier percentComplete: (float) percent
{
GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier];
if (achievement)
{
achievement.percentComplete = percent;
[GKAchievement reportAchievements:@[achievement] withCompletionHandler:^(NSError *error)
{
if (error != nil)
{
NSLog(@"Error in reporting achievements: %@", error);
}
}];
}
}
具体来说,我不确定如何完成 Completion Handler。
我试过了,但出现错误:
class func ReportAchievment(identifier : String, percentComplete : Double)
{
var achievement = GKAchievement(identifier: identifier)
if(achievement != nil)
{
achievement.percentComplete = percentComplete;
GKAchievement.reportAchievements(achievement, withCompletionHandler: { (error : NSError!) -> Void in
println("Hello, its reported.")
})
}
}
GKAchievement Class Reference : http://goo.gl/r9FB0b
GKAchievement.reportAchievements:
第一个参数需要一个数组(不是单个对象)。
你需要把你的 achievement
放在一个数组中,或者像这样 [achievement]
第一个参数:
GKAchievement.reportAchievements([achievement], ...
我还没有检查您的完成处理程序,如果您也有任何问题,请告诉我们。
基本上我是在 Game Center 内报告成就。这是 Objective-C 中执行此操作的代码:
(void) reportAchievementIdentifier: (NSString*) identifier percentComplete: (float) percent
{
GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier];
if (achievement)
{
achievement.percentComplete = percent;
[GKAchievement reportAchievements:@[achievement] withCompletionHandler:^(NSError *error)
{
if (error != nil)
{
NSLog(@"Error in reporting achievements: %@", error);
}
}];
}
}
具体来说,我不确定如何完成 Completion Handler。
我试过了,但出现错误:
class func ReportAchievment(identifier : String, percentComplete : Double)
{
var achievement = GKAchievement(identifier: identifier)
if(achievement != nil)
{
achievement.percentComplete = percentComplete;
GKAchievement.reportAchievements(achievement, withCompletionHandler: { (error : NSError!) -> Void in
println("Hello, its reported.")
})
}
}
GKAchievement Class Reference : http://goo.gl/r9FB0b
GKAchievement.reportAchievements:
第一个参数需要一个数组(不是单个对象)。
你需要把你的 achievement
放在一个数组中,或者像这样 [achievement]
第一个参数:
GKAchievement.reportAchievements([achievement], ...
我还没有检查您的完成处理程序,如果您也有任何问题,请告诉我们。