我正在尝试将 GameCenter 集成到我的 iPhone 应用程序中。我想要做的是将 NSString highScore 上传到我的 Game Center 排行榜。我遇到了关于字符串兼容性的问题,我不确定从这里该怎么做。这是我想将 highScore NSString 上传到 GameCenter 时调用的 void
-(void)submitScore {
int x = [highScore floatValue];
score=&x;
GKScore *myScoreValue = [[GKScore alloc] initWithCategory:@"grumpyEscapeHighScoresLeaderboard"];
myScoreValue.value = score;
[myScoreValue reportScoreWithCompletionHandler:^(NSError *error){
if(error != nil){
NSLog(@"Score Submission Failed");
} else {
NSLog(@"Score Submitted");
}
}];
}
当它提交时,我在 GameCenter (803,089,816) 中得到一个巨大的数字,即使 highScore NSString 的值为 6。这是错误消息:
Incompatible pointer to integer conversion assigning to 'int64_t' (aka 'long long') from 'int*'
在我的 ViewController.h 中,我将 score 定义为
int *score;
我对Objective C和一般编码非常陌生。对不起,如果这个问题对其他人来说似乎很愚蠢。我已经尝试研究了很长时间如何做到这一点,但找不到任何答案。 这是我从中获取代码并为我自己的项目修改它的教程。