这是我的编码用于获取本地前10名高分,但是,发生调试终止错误。
[OFHighScoreService getPageWithLoggedInUserForLeaderboard: theLeaderboardID onSuccess:OFDelegate(self, @selector(_scoresDownloaded:))
onFailure:OFDelegate()];
选择器: -
- (void)_scoresDownloaded:(OFPaginatedSeries*)page
{
NSMutableArray* highscores = nil;
if ([page count] > 0)
{
if ([[page objectAtIndex:0] isKindOfClass:[OFTableSectionDescription class]])
{
highscores = [(OFTableSectionDescription*)[page objectAtIndex:0] page].objects;
}
else
{
highscores = page.objects;
}
}
NSString *userID = [OpenFeint lastLoggedInUserName];
for (OFHighScore* score in highscores)
{
ccColor3B theColor = ccBLACK;
if ([score.user.name isEqualToString: userID] ) {
//score now contains the users data... Do what I want with it.
NSLog(@"%d %@ %d", score.rank, score.user.name, score.score);
break;
}
}
}
这是我的控制台窗口错误: -
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Levelone canReceiveCallbacksNow]: unrecognized selector sent to instance 0x6af2070'
*** Call stack at first throw:
terminate called after throwing an instance of 'NSException'
答案 0 :(得分:2)
如错误所示,您用作OFHighScoreService
的回调委托的对象无法识别选择器canReceiveCallbacksNow
。根据OpenFeint文档,您的回调必须实现定义此问题的OFCallbackable
协议。只需实现该功能,例如只需让它一直返回YES
。
答案 1 :(得分:0)
OpenFeint仅存储给定排行榜上每位玩家的最新合格分数。没有用户会出现在排行榜的多个位置排名。