Pankia wiki ~LeaderBoard~
+ (NSArray *)leaderboards; //ランクやスコアの取得(サーバー経由) + (void)fetchRankOnLeaderboard:(int)leaderboardId onSuccess:(void (^)(PNRank *rank))onSuccess onFailure:(void (^)(NSError *error))onFailure; + (void)fetchAllLeaderboardsRankWithOnSuccess:(void (^)(NSArray *ranks))onSuccess onFailure:(void (^)(NSError *error))onFailure; + (void)fetchLatestLeaderboardsScore:(NSArray *)leaderboardIds onSuccess:(void (^)(NSArray *scores))onSuccess onFailure:(void (^)(NSError *error))onFailure; + (void)scoresOnLeaderboard:(int)leaderboardId amongFriends:(BOOL)amongFriends offset:(int)offset limit:(int)limit onSuccess:(void (^)(NSArray *scores))onSuccess onFailure:(void (^)(NSError *error))onFailure; //スコアの送信(使いたい型のものを利用) + (int64_t)postScore:(int64_t)score leaderboardId:(int)leaderboardId isIncremental:(BOOL)isIncremental; + (int64_t)postScore:(int64_t)score leaderboardId:(int)leaderboardId; + (float)postFloatScore:(float)score leaderboardId:(int)leaderboardId isIncremental:(BOOL)isIncremental; ... //スコアの取得(ローカル経由)(使いたい型のものを利用) + (int64_t)latestScoreOnLeaderboard:(int)leaderboardId; + (float)latestFloatScoreOnLeaderboard:(int)leaderboardId; ... //オンラインオフライン時の管理について + (void)postScoreSynchronously:(int64_t)score leaderboardId:(int)leaderboardId isIncremental:(BOOL)isIncremental onSuccess:(void (^)(PNRank *latestScore))onSuccess onFailure:(void (^)(NSError *error))onFailure; + (void)setOfflineScoreManagementEnabled:(BOOL)value; + (void)setScore:(int64_t)score onLeaderboard:(int)leaderboardId forNonPlayerCharacter:(NSString *)userId; + (int64_t)scoreOnLeaderboard:(int)leaderboardId forNonPlayerCharacter:(NSString *)userId;
リーダーボードにはこのようなメソッド達があります,
まずスコアの取得について サーバー経由とローカル経由がありますが,それぞれでの返り値の型が違う事に気づくと思います。
サーバー経由の方でPNRank *またはその配列NSArray *でスコアがかえされているのでそこからスコアを取得する必要があるが,整数(int64_t型)はrank.scoreにて取得できる。
PNRank *には以下のようなpropertyがあるので必要に応じて利用します
@interface PNRank : PNModel @property (retain) PNUser *user; @property (assign) int leaderboardId; @property (assign) int rank; @property (assign) long long score; @property (assign) int userCount; @property (assign) BOOL isRanked;