GKLeaderboard
A GKLeaderboard объект используется для чтения данных из списка лидеров, сохраненного на Игровом Центре. Ваше игровое использование GKLeaderboard объекты, когда это хочет получить локализованную информацию об определенном списке лидеров или получить очки из списка лидеров. Как правило, Вы делаете это, когда Вы хотите данные, должен был реализовать Ваш собственный пользовательский интерфейс списка лидеров.
Во время процесса разработки Вы создаете списки лидеров для своей игры на Подключении iTunes.
Для получения информации о доступных списках лидеров используйте loadLeaderboardsWithCompletionHandler: метод класса.
Чтобы запросить данные счета от Игрового Центра, Ваша игра выделяет и инициализирует a GKLeaderboard возразите, конфигурирует его поисковые свойства, и затем вызывает объект loadScoresWithCompletionHandler: метод. Игровой Набор получает данные счета от Игрового Центра и вызывает Ваш обработчик завершения.
Поисковые свойства используются для фильтрации данных счета, возвращенных к игре:
categoryсвойство позволяет Вам выбирать, какой список лидеров на Подключении iTunes ищется.playerScopeсвойство позволяет Вам ограничивать поиск друзьями местного игрока. Дополнительно, можно также явно инициализировать объект списка лидеров искать музыку к определенной группе проигрывателей.timeScopeсвойство позволяет Вам фильтровать на основе того, когда был заработан счет.rangeсвойство позволяет Вам выбирать очки в определенном диапазоне. Например, диапазон [1,10] возвращает лучшие десять очков.
Алгоритм, используемый GKLeaderboard объект следующие:
Запустите с набора всех возможных очков.
Отбросьте любые очки, не соответствующие
playerScope,timeScopeиcategoryсвойства.Для каждого проигрывателя сохраните лучший счет, что проигрыватель заработал и отбрасывает остальных.
Сортируйте очки от лучше всего до худшего.
Используйте свойство диапазона для определения, какие очки возвращаются.
Оператор импорта
Swift
import GameKit
Objective C
@import GameKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Загружает список списков лидеров от Игрового Центра
Объявление
Swift
class func loadLeaderboardsWithCompletionHandler(_completionHandler: (([AnyObject]!, NSError!) -> Void)!)Параметры
completionHandlerБлок, который вызывают, когда категории были получены от сервера.
Блок получает следующие параметры:
leaderboardsМассив
GKLeaderboardобъекты, который обеспечивает списки лидеров для Вашей игры. Если ошибка произошла, это значение может быть не -nil. В этом случае массив содержит любые данные, которые Гэйм Кит смог загрузить, прежде чем ошибка произошла.errorЕсли ошибка произошла, этот ошибочный объект описывает ошибку. Если работа завершилась успешно, значение
nil.Обсуждение
Используйте этот метод класса получить список списков лидеров, которые Вы сконфигурировали на Подключении iTunes. Используйте свойства каждого объекта списка лидеров, особенно
categoryиtitleсвойства, для узнавания больше о списке лидеров.Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
Загружает список категорий списка лидеров вместе с их соответствующими локализованными заголовками.
Оператор осуждения
Используйте
loadLeaderboardsWithCompletionHandler:метод вместо этого.Объявление
Параметры
completionHandlerБлок, который вызывают, когда категории были получены от сервера.
Блок получает следующие параметры:
categoriesМассив
NSStringобъекты, который обеспечивает категории для Вашей игры. Если ошибка произошла, это значение может быть не -nil. В этом случае массив содержит любые данные, которые Гэйм Кит смог загрузить, прежде чем ошибка произошла.titlesМассив
NSStringобъекты, который обеспечивает локализованные заголовки для каждой категории. Если ошибка произошла, это значение может быть не -nil. В этом случае массив содержит любые данные, которые Гэйм Кит смог загрузить, прежде чем ошибка произошла.errorЕсли ошибка произошла, этот ошибочный объект описывает ошибку. Если работа завершилась успешно, значение
nil.Обсуждение
Вы используете этот метод класса получить идентификаторы категории и заголовки, которые Вы сконфигурировали для своих списков лидеров на Подключении iTunes. Создать запрос списка лидеров, предназначающийся для определенной категории, набор
categoryсвойство к одной из строк, возвращенных этим методом.Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.
Оператор импорта
Objective C
@import GameKit;Доступность
Доступный в OS X v10.8 и позже.
Осуждаемый в OS X v10.9.
-
Инициализирует запрос списка лидеров по умолчанию.
Объявление
Swift
init!()Objective C
- (instancetype)initВозвращаемое значение
Инициализированный запрос списка лидеров.
Обсуждение
Объект списка лидеров, инициализированный с этим методом, использует
playerScope,timeScope, иrangeсвойства для поиска Игрового Центра очков.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
init (playerIDs:) - initWithPlayerIDs:(OS X v10.10)Инициализирует запрос списка лидеров для получения множества определенной группы проигрывателей.
Объявление
Swift
init!(playerIDsplayerIDs: [AnyObject]!)Objective C
- (instancetype)initWithPlayerIDs:(NSArray *)playerIDsПараметры
playerIDsМассив
NSStringобъекты, который содержит строки идентификатора проигрывателя проигрывателей для получения.Возвращаемое значение
Инициализированный запрос списка лидеров.
Обсуждение
Объект списка лидеров, инициализированный с этим методом, игнорирует
playerScopeиrangeсвойства. Вместо этого это получает музыку к определенному списку проигрывателей, идентификаторы которых включены вplayerIDsпараметр.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
Осуждаемый в OS X v10.10.
-
Инициализирует запрос списка лидеров для получения множества определенной группы проигрывателей.
Объявление
Swift
init!(playersplayers: [AnyObject]!)Objective C
- (instancetype)initWithPlayers:(NSArray *)playersПараметры
playersМассив
GKPlayerобъекты, который содержит идентификаторы проигрывателя, которые будут получены.Возвращаемое значение
Инициализированный запрос списка лидеров.
Обсуждение
Объект списка лидеров, инициализированный с этим методом, игнорирует
playerScopeиrangeсвойства. Вместо этого это получает музыку к определенному списку проигрывателей чейGKPlayerобъекты включены вplayersпараметр.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.10 и позже.
-
playerScope playerScopeСвойствоФильтр раньше ограничивал поиск подмножеством проигрывателей на Игровом Центре.
Объявление
Swift
var playerScope: GKLeaderboardPlayerScopeObjective C
@property(assign, atomic) GKLeaderboardPlayerScope playerScopeОбсуждение
playerScopeесли запрос списка лидеров был инициализирован с помощью, свойство проигнорированоinitWithPlayerIDs:метод. Иначе,playerScopeсвойство определяет, какие проигрыватели включены в запрос на рекорды. Значение по умолчаниюGKLeaderboardPlayerScopeGlobal. ПосмотритеLeaderboard Player Scopeдля получения дополнительной информации.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
Рейтинг балльной оценки для возврата из поиска.
Обсуждение
rangeесли запрос списка лидеров был инициализирован с помощью, свойство проигнорированоinitWithPlayerIDs:метод. Иначе,rangeсвойство используется для фильтрации, какие очки возвращаются к игре. Например, если Вы указали диапазон[1,10], после того, как поиск завершен, Ваша игра получает лучшие десять очков. Диапазон по умолчанию[1,25].Минимальный индекс
1. Максимальная длина100.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
Фильтр раньше ограничивал поиск очками, отправленными в течение определенного промежутка времени.
Объявление
Swift
var timeScope: GKLeaderboardTimeScopeObjective C
@property(assign, atomic) GKLeaderboardTimeScope timeScopeОбсуждение
Это свойство определяет, как далеко назад своевременно искать очки. Значение по умолчанию
GKLeaderboardTimeScopeAllTime. ПосмотритеLeaderboard Time Scopeдля получения дополнительной информации.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
идентификатор идентификаторСвойствоИменованный список лидеров для получения информации от.
Обсуждение
Если не -
nil, Игровой Центр только возвращает очки из соответствующего списка лидеров. Еслиnil, ищутся все очки, о которых ранее сообщает игра. Значение по умолчаниюnil.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.10 и позже.
-
Именованный список лидеров для получения информации от.
Оператор осуждения
Использовать
identifierсвойство вместо этого.Обсуждение
Если не -
nil, Игровой Центр только возвращает очки из соответствующего списка лидеров. Еслиnil, ищутся все очки, о которых ранее сообщает игра. Значение по умолчаниюnil.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
Осуждаемый в OS X v10.10.
-
Изображение связалось со списком лидеров по умолчанию.
Объявление
Параметры
completionHandlerБлок, который вызовут после очков, получен от сервера.
Блок получает следующие параметры:
imageСодержит изображение, связанное со списком лидеров.
errorЕсли ошибка произошла, этот ошибочный объект описывает ошибку. Если работа была завершена успешно, значение
nil.Обсуждение
Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
Получает ряд очков от Игрового Центра.
Объявление
Swift
func loadScoresWithCompletionHandler(_completionHandler: (([AnyObject]!, NSError!) -> Void)!)Параметры
completionHandlerБлок, который вызовут после очков, получен от сервера.
Блок получает следующие параметры:
scoresМассив
GKScoreобъекты, который содержит требуемые очки. Если ошибка произошла, это значение может быть не -nil. В этом случае массив содержит любые данные счета, мог быть получен от Игрового Центра, прежде чем произошла ошибка.errorЕсли ошибка произошла, этот ошибочный объект описывает ошибку. Если работа была завершена успешно, значение
nil.Обсуждение
Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.
Можно вызвать этот метод многократно; каждый вызов представляет различный запрос против очков, сохраненных на Игровом Центре. При регистрации многократных операций загрузки с помощью того же объекта списка лидеров любые свойства, обновляющиеся путем загрузки очков, отражают завершившийся последний запрос. Порядок, что запросы достижения обрабатываются, произволен.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
Булево значение, указывающее, получает ли объект списка лидеров очки. (только для чтения)
Объявление
Swift
var loading: Bool { get }Objective C
@property(readonly, getter=isLoading) BOOL loadingОбсуждение
Значение
loadingсвойствоYEStrueесли объект списка лидеров имеет какие-либо незаконченные запросы на очки.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
Локализованный заголовок для списка лидеров. (только для чтения)
Объявление
Swift
var title: String! { get }Objective C
@property(readonly, copy, atomic) NSString *titleОбсуждение
При инициализации нового объекта списка лидеров это свойство недопустимо до вызова к
loadScoresWithCompletionHandler:завершено. Позже, это содержит локализованный заголовок для списка лидеров, идентифицированногоcategoryсвойство.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
Массив
GKScoreобъекты, который содержит очки, возвращенные поиском. (только для чтения)Объявление
Swift
var scores: [AnyObject]! { get }Objective C
@property(readonly, retain, atomic) NSArray *scoresОбсуждение
Это свойство недопустимо до вызова к
loadScoresWithCompletionHandler:завершено. Позже, это содержит те же объекты счета, возвращенные к обработчику завершения.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
localPlayerScore localPlayerScoreСвойствоСчет заработан местным игроком. (только для чтения)
Объявление
Swift
var localPlayerScore: GKScore! { get }Objective C
@property(readonly, retain, atomic) GKScore *localPlayerScoreОбсуждение
Это свойство недопустимо до вызова к
loadScoresWithCompletionHandler:завершается. Позже, это содержит объект счета представление счета местного игрока в списке лидеров, данном фильтры, Вы применились к запросу.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
Размер списка лидеров. (только для чтения)
Объявление
Swift
var maxRange: Int { get }Objective C
@property(readonly, assign, atomic) NSUInteger maxRangeОбсуждение
Это свойство недопустимо до вызова к
loadScoresWithCompletionHandler:завершается. Позже, это содержит общее количество записей, доступных для возврата к игре, данной фильтры, Вы применились к запросу.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
setDefaultLeaderboard (_: withCompletionHandler:) + setDefaultLeaderboard:withCompletionHandler:(OS X v10.10)Устанавливает список лидеров по умолчанию для местного игрока.
Объявление
Параметры
leaderboardIdentifierИменованный список лидеров, который должен быть новым списком лидеров по умолчанию для местного игрока.
completionHandlerБлок, который вызовут после очков, получен от сервера.
Блок получает следующий параметр:
errorЕсли ошибка произошла, этот ошибочный объект описывает ошибку. Если работа была завершена успешно, значение
nil.Обсуждение
Список лидеров по умолчанию используется каждый раз, когда Ваша игра использует a
GKScoreвозразите, чтобы сообщить о счете Игровому Центру, явно не устанавливая объект счетаcategoryсвойство. Список лидеров по умолчанию обычно устанавливается в Подключении iTunes. Однако Ваша игра может использовать этот метод класса переопределить список лидеров по умолчанию, появляющийся для местного игрока. Эта информация хранится для каждого проигрывателя на Игровом Центре.Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.
Если ошибка происходит и была сетевой ошибкой, Ваша игра должна периодически снова посылать запрос, пока это не завершается.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
Осуждаемый в OS X v10.10.
-
groupIdentifier groupIdentifierСвойствоИдентификатор для группы список лидеров является частью. (только для чтения)
Объявление
Swift
var groupIdentifier: String! { get }Objective C
@property(nonatomic, readonly, retain) NSString *groupIdentifierОбсуждение
Если Ваша игра была сконфигурирована, чтобы быть частью группы в Подключении iTunes, это свойство содержит идентификатор, который Вы присвоили группе.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.9 и позже.
Типы данных
-
Промежуток времени, которым ограничивается лучший счет проигрывателя.
Объявление
Swift
enum GKLeaderboardTimeScope : Int { case Today case Week case AllTime }Objective C
enum { GKLeaderboardTimeScopeToday = 0, GKLeaderboardTimeScopeWeek, GKLeaderboardTimeScopeAllTime }; typedef NSInteger GKLeaderboardTimeScope;Константы
-
TodayGKLeaderboardTimeScopeTodayКаждый проигрыватель ограничивается очками, зарегистрированными за прошлые 24 часа.
Доступный в OS X v10.8 и позже.
-
WeekGKLeaderboardTimeScopeWeekКаждый проигрыватель ограничивается очками, зарегистрированными на прошлой неделе.
Доступный в OS X v10.8 и позже.
-
AllTimeGKLeaderboardTimeScopeAllTimeЛучший счет каждого проигрывателя возвращается.
Доступный в OS X v10.8 и позже.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
-
Объем проигрывателей, которые будут искаться очки.
Объявление
Swift
enum GKLeaderboardPlayerScope : Int { case Global case FriendsOnly }Objective C
enum { GKLeaderboardPlayerScopeGlobal = 0, GKLeaderboardPlayerScopeFriendsOnly }; typedef NSInteger GKLeaderboardPlayerScope;Константы
-
GlobalGKLeaderboardPlayerScopeGlobalВсе проигрыватели на Игровом Центре нужно рассмотреть при генерации списка очков.
Доступный в OS X v10.8 и позже.
-
FriendsOnlyGKLeaderboardPlayerScopeFriendsOnlyТолько друзей местного игрока нужно рассмотреть при генерации списка очков.
Доступный в OS X v10.8 и позже.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в OS X v10.8 и позже.
-
