как получить топ-10 локальных рекордов от openfeint - PullRequest
0 голосов
/ 10 марта 2011

это мой код, который используется для получения локальных 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'

Ответы [ 2 ]

2 голосов
/ 11 марта 2011

Как говорит ошибка, объект, который вы используете в качестве делегата обратного вызова для OFHighScoreService, не распознает селектор canReceiveCallbacksNow. Согласно документации OpenFeint, ваш обратный вызов должен реализовывать протокол OFCallbackable, который определяет это. Просто реализуйте функцию, например, просто верните YES все время.

0 голосов
/ 05 апреля 2011

OpenFeint хранит только последний квалификационный счет на игрока в данной таблице лидеров. Ни один пользователь никогда не окажется в рейтинге более чем в одном слоте в таблице лидеров.

...