GKChallenge
Наследование
-
NSObject -
GKChallenge -
GKAchievementChallenge -
GKScoreChallenge
-
NSObject -
GKChallenge -
GKAchievementChallenge -
GKScoreChallenge
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSObjectProtocol -
NSSecureCoding -
Печатаемый -
NSCoding -
NSObject -
NSSecureCoding
Оператор импорта
Swift
import GameKit
Objective C
@import GameKit;
Доступность
Доступный в iOS 6.0 и позже.
A GKChallenge объект представляет проблему, выпущенную проигрывателем к другому проигрывателю.
Проигрыватели используют Игровое приложение Центра, чтобы выпустить и просмотреть проблемы. Однако Ваша игра может также настроить свои способы поведения проблемы многими способами:
Можно загрузить список проблем, выпущенных местному игроку путем вызова
loadReceivedChallengesWithCompletionHandler:метод класса. Например, Вы могли бы сделать это для отображения проблем в пользовательском интерфейсе игры.Ваше приложение может выпустить проблемы с помощью a
GKScoreилиGKAchievementобъект. Когда местный игрок инициирует действие в Вашем пользовательском интерфейсе, Ваша игра должна только выпустить проблемы.Когда новые события проблемы получены, Ваша игра может быть уведомлена. Посмотрите
GKChallengeEventHandlerDelegate.
Разделение на подклассы примечаний
Вы никогда не разделяете на подклассы GKChallenge классифицируйте непосредственно. Однако подклассы GKChallenge представляйте определенные виды проблем. Существуют два типа проблемы:
A
GKScoreChallengeпроблема разбить счет местный игрок, заработанный в списке лидеров.A
GKAchievementChallengeпроблема завершить достижение, что уже завершился местный игрок.
-
Загружает список выдающихся проблем.
Объявление
Swift
class func loadReceivedChallengesWithCompletionHandler(_completionHandler: (([AnyObject]!, NSError!) -> Void)!)Параметры
completionHandlerБлок, который вызовут, когда завершается загрузка.
Блок получает следующие параметры:
challengesМассив
GKChallengeобъекты, который представляет все проблемы, сделанные местному игроку. Если ошибка произошла, этот параметр может быть не -nil, когда массив содержит любую информацию о проблеме, Гэйм Кит смог выбрать.errorЕсли ошибка произошла, этот объект описывает ошибку. Если работа завершилась успешно, это значение
nil.Обсуждение
Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 6.0 и позже.
-
issueDateСвойство -
Проигрыватель, кто выпустил проблему. (только для чтения)
Объявление
Swift
var issuingPlayerID: String! { get }Objective C
@property(nonatomic, readonly, copy) NSString *issuingPlayerIDОператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 6.0 и позже.
Осуждаемый в iOS 8.0.
-
Проигрыватель, кто получил проблему. (только для чтения)
Объявление
Swift
var receivingPlayerID: String! { get }Objective C
@property(nonatomic, readonly, copy) NSString *receivingPlayerIDОператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 6.0 и позже.
Осуждаемый в iOS 8.0.
-
issuingPlayerСвойствоGKPlayerобъект связался с проигрывателем, кто выпустил проблему. (только для чтения)Объявление
Swift
@NSCopying var issuingPlayer: GKPlayer! { get }Objective C
@property(nonatomic, readonly, copy) GKPlayer *issuingPlayerОператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 8.0 и позже.
-
receivingPlayerСвойствоGKPlayerобъект связался с проигрывателем, кто получил проблему. (только для чтения)Объявление
Swift
@NSCopying var receivingPlayer: GKPlayer! { get }Objective C
@property(nonatomic, readonly, copy) GKPlayer *receivingPlayerОператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 8.0 и позже.
-
messageСвойство -
stateСвойствоТекущее состояние проблемы. (только для чтения)
Объявление
Swift
var state: GKChallengeState { get }Objective C
@property(nonatomic, readonly, assign) GKChallengeState stateОбсуждение
Посмотрите состояние проблемы для возможных значений.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 6.0 и позже.
-
completionDateСвойствоДата проблема была завершена. (только для чтения)
Объявление
Swift
var completionDate: NSDate! { get }Objective C
@property(nonatomic, readonly, retain) NSDate *completionDateОбсуждение
Если проблема не завершена, это значение
nil.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 6.0 и позже.
-
Уменьшает проблему.
Объявление
Swift
func decline()Objective C
- (void)declineОбсуждение
Если Ваша игра реализует настроенный пользовательский интерфейс для отображения проблем, она должна включать средства управления, позволяющие проигрывателю уменьшать проблему. Если проигрыватель использует Ваш пользовательский интерфейс для снижения проблемы, вызовите этот метод.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 6.0 и позже.
Типы данных
-
Блок Completion, определяющий, была ли проблема выпущена и если так, в кого это отправляется.
Объявление
Swift
typealias GKChallengeComposeCompletionBlock = (UIViewController!, Bool, [AnyObject]!) -> VoidObjective C
typedef void (^GKChallengeComposeCompletionBlock)(UIViewController *composeController, BOOL didIssueChallenge, NSArray *sentPlayerIDs);Обсуждение
Блочные параметры определяются следующим образом:
composeControllerКонтроллер представления для проблемы.
didIssueChallengeЛогическая переменная, определяющая, была ли отослана проблема.
sentPlayerIDsМассив
NSStringобъекты, содержащие идентификаторы проигрывателя, в которые была отправлена проблема.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 7.0 и позже.
-
Возможные состояния, в которых может жить проблема.
Объявление
Swift
enum GKChallengeState : Int { case Invalid case Pending case Completed case Declined }Objective C
typedef enum GKChallengeState { GKChallengeStateInvalid = 0, GKChallengeStatePending = 1, GKChallengeStateCompleted = 2, GKChallengeStateDeclined = 3, };Константы
-
InvalidGKChallengeStateInvalidОшибка произошла. Состояние этой проблемы не допустимо.
Доступный в iOS 6.0 и позже.
-
PendingGKChallengeStatePendingПроблема была выпущена, но еще не завершена, ни уменьшена.
Доступный в iOS 6.0 и позже.
-
CompletedGKChallengeStateCompletedПроигрыватель получения успешно завершил проблему.
Доступный в iOS 6.0 и позже.
-
DeclinedGKChallengeStateDeclinedПроигрыватель получения уменьшил проблему.
Доступный в iOS 6.0 и позже.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 6.0 и позже.
-
