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