Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы GameKit ссылка класса GKChallenge

Опции
Развертывание Target:

На этой странице
Язык:

GKChallenge

A GKChallenge объект представляет проблему, выпущенную проигрывателем к другому проигрывателю.

Проигрыватели используют Игровое приложение Центра, чтобы выпустить и просмотреть проблемы. Однако Ваша игра может также настроить свои способы поведения проблемы многими способами:

  • Можно загрузить список проблем, выпущенных местному игроку путем вызова loadReceivedChallengesWithCompletionHandler: метод класса. Например, Вы могли бы сделать это для отображения проблем в пользовательском интерфейсе игры.

  • Ваше приложение может выпустить проблемы с помощью a GKScore или GKAchievement объект. Когда местный игрок инициирует действие в Вашем пользовательском интерфейсе, Ваша игра должна только выпустить проблемы.

  • Когда новые события проблемы получены, Ваша игра может быть уведомлена. Посмотрите GKChallengeEventHandlerDelegate.

Разделение на подклассы примечаний

Вы никогда не разделяете на подклассы GKChallenge классифицируйте непосредственно. Однако подклассы GKChallenge представляйте определенные виды проблем. Существуют два типа проблемы:

  • A GKScoreChallenge проблема разбить счет местный игрок, заработанный в списке лидеров.

  • A GKAchievementChallenge проблема завершить достижение, что уже завершился местный игрок.

Оператор импорта


Swift

import GameKit

Objective C

@import GameKit;

Доступность


Доступный в OS X v10.8 и позже.
  • Загружает список выдающихся проблем.

    Объявление

    Swift

    class func loadReceivedChallengesWithCompletionHandler(_ completionHandler: (([AnyObject]!, NSError!) -> Void)!)

    Objective C

    + (void)loadReceivedChallengesWithCompletionHandler:(void (^)(NSArray *challenges, NSError *error))completionHandler

    Параметры

    completionHandler

    Блок, который вызовут, когда завершается загрузка.

    Блок получает следующие параметры:

    challenges

    Массив GKChallenge объекты, который представляет все проблемы, сделанные местному игроку. Если ошибка произошла, этот параметр может быть не -nil, когда массив содержит любую информацию о проблеме, Гэйм Кит смог выбрать.

    error

    Если ошибка произошла, этот объект описывает ошибку. Если работа завершилась успешно, это значение nil.

    Обсуждение

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • issueDate issueDate Свойство

    Дата проблема была выпущена. (только для чтения)

    Объявление

    Swift

    var issueDate: NSDate! { get }

    Objective C

    @property(nonatomic, readonly, retain) NSDate *issueDate

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • issuingPlayerID issuingPlayerID (OS X v10.10) Свойство

    Проигрыватель, кто выпустил проблему. (только для чтения)

    Объявление

    Swift

    var issuingPlayerID: String! { get }

    Objective C

    @property(nonatomic, readonly, copy) NSString *issuingPlayerID

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

    Осуждаемый в OS X v10.10.

  • receivingPlayerID receivingPlayerID (OS X v10.10) Свойство

    Проигрыватель, кто получил проблему. (только для чтения)

    Объявление

    Swift

    var receivingPlayerID: String! { get }

    Objective C

    @property(nonatomic, readonly, copy) NSString *receivingPlayerID

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

    Осуждаемый в OS X v10.10.

  • issuingPlayer issuingPlayer Свойство

    GKPlayer объект связался с проигрывателем, кто выпустил проблему. (только для чтения)

    Объявление

    Swift

    @NSCopying var issuingPlayer: GKPlayer! { get }

    Objective C

    @property(nonatomic, readonly, copy) GKPlayer *issuingPlayer

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • receivingPlayer receivingPlayer Свойство

    GKPlayer объект связался с проигрывателем, кто получил проблему. (только для чтения)

    Объявление

    Swift

    @NSCopying var receivingPlayer: GKPlayer! { get }

    Objective C

    @property(nonatomic, readonly, copy) GKPlayer *receivingPlayer

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Текстовое сообщение, описывающее проблему. (только для чтения)

    Объявление

    Swift

    var message: String! { get }

    Objective C

    @property(nonatomic, readonly, copy) NSString *message

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Текущее состояние проблемы. (только для чтения)

    Объявление

    Swift

    var state: GKChallengeState { get }

    Objective C

    @property(nonatomic, readonly, assign) GKChallengeState state

    Обсуждение

    Посмотрите состояние проблемы для возможных значений.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • completionDate completionDate Свойство

    Дата проблема была завершена. (только для чтения)

    Объявление

    Swift

    var completionDate: NSDate! { get }

    Objective C

    @property(nonatomic, readonly, retain) NSDate *completionDate

    Обсуждение

    Если проблема не завершена, это значение nil.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Уменьшает проблему.

    Объявление

    Swift

    func decline()

    Objective C

    - (void)decline

    Обсуждение

    Если Ваша игра реализует настроенный пользовательский интерфейс для отображения проблем, она должна включать средства управления, позволяющие проигрывателю уменьшать проблему. Если проигрыватель использует Ваш пользовательский интерфейс для снижения проблемы, вызовите этот метод.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

Типы данных

  • Блок Completion, определяющий, была ли проблема выпущена и если так, в кого это отправляется.

    Объявление

    Swift

    typealias GKChallengeComposeCompletionBlock = (NSViewController!, Bool, [AnyObject]!) -> Void

    Objective C

    typedef void (^GKChallengeComposeCompletionBlock)(UIViewController *composeController, BOOL didIssueChallenge, NSArray *sentPlayerIDs);

    Обсуждение

    Блочные параметры определяются следующим образом:

    composeController

    Контроллер представления для проблемы.

    didIssueChallenge

    Логическая переменная, определяющая, была ли отослана проблема.

    sentPlayerIDs

    Массив NSString объекты, содержащие идентификаторы проигрывателя, в которые была отправлена проблема.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Возможные состояния, в которых может жить проблема.

    Объявление

    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, };

    Константы

    • Invalid

      GKChallengeStateInvalid

      Ошибка произошла. Состояние этой проблемы не допустимо.

      Доступный в OS X v10.8 и позже.

    • Pending

      GKChallengeStatePending

      Проблема была выпущена, но еще не завершена, ни уменьшена.

      Доступный в OS X v10.8 и позже.

    • Completed

      GKChallengeStateCompleted

      Проигрыватель получения успешно завершил проблему.

      Доступный в OS X v10.8 и позже.

    • Declined

      GKChallengeStateDeclined

      Проигрыватель получения уменьшил проблему.

      Доступный в OS X v10.8 и позже.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.