GKSessionDelegate
Наследование
Не применимый
Оператор импорта
Swift
import GameKit
Objective C
@import GameKit;
Доступность
Доступный в iOS 3.0 и позже.
Объект реализует GKSessionDelegate протокол для управления поведением a GKSession объект. Когда другие видимые коллеги изменяют свое состояние относительно сеанса, делегата вызывают. Это также вызывают, чтобы определить, разрешают ли другой коллеге соединиться с сеансом.
-
Полученный делегатом, когда коллега изменяет состояние. (требуемый)
Объявление
Swift
optional func session(_session: GKSession!, peerpeerID: String!, didChangeStatestate: GKPeerConnectionState)Objective C
- (void)session:(GKSession *)sessionpeer:(NSString *)peerIDdidChangeState:(GKPeerConnectionState)stateПараметры
sessionСеанс, получивший обновление.
peerIDСтрока, идентифицирующая коллегу.
stateСостояние коллега изменилось на.
Обсуждение
Сеанс вызывает этот метод каждый раз, когда видимая коллега изменяет его состояние относительно себя. Меры, которые должен принять Ваш делегат, зависят, на каком состоянии коллега переместилась в.
Когда коллега сначала становится видимой к сеансу, это появляется с состоянием
GKPeerStateAvailable. Ваше приложение должно показать этой коллеге в его пользовательском интерфейсе. Если коллега изменяет его состояние наGKPeerStateUnavailable, это больше не принимает запросы на установление соединения, и Ваше приложение должно удалить его из пользовательского интерфейса.Делегат должен проигнорировать
GKPeerStateConnectingизменения и реализацияsession:didReceiveConnectionRequestFromPeer:метод вместо этого.Когда коллега соединяется (
GKPeerStateConnected), Ваше приложение может отправить данные коллеге и получить данные от коллеги. Если соединение с коллегой потеряно или если коллега сознательно разъединяется (GKPeerStateDisconnected), Ваше приложение должно прекратить отправлять сообщения этой коллеге.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 3.0 и позже.
-
сеанс (_: didReceiveConnectionRequestFromPeer:) - session:didReceiveConnectionRequestFromPeer:ТребуемыйПолученный делегатом, когда удаленный узел хочет создать соединение с сеансом. (требуемый)
Объявление
Swift
optional func session(_session: GKSession!, didReceiveConnectionRequestFromPeerpeerID: String!)Параметры
sessionСеанс, получивший запрос.
peerIDСтрока, однозначно определяющая коллегу.
Обсуждение
Делегат должен вызвать сеанс
acceptConnectionFromPeer:error:метод, если это хочет принять соединение илиdenyConnectionFromPeer:метод, если это хочет отказаться от соединения.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 3.0 и позже.
-
сеанс (_: connectionWithPeerFailed:withError:) - session:connectionWithPeerFailed:withError:ТребуемыйПолученный делегатом, когда попытка соединиться с другой коллегой перестала работать. (требуемый)
Объявление
Параметры
sessionСеанс, получивший сообщение.
peerIDСтрока, однозначно определяющая коллегу.
errorПроизошедшая ошибка.
Обсуждение
errorпараметр может использоваться для информирования пользователя того, почему прервалась связь.Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 3.0 и позже.
-
Отправленный делегату, когда серьезная ошибка произошла в сеансе. (требуемый)
Объявление
Swift
optional func session(_session: GKSession!, didFailWithErrorerror: NSError!)Параметры
sessionПереставший работать сеанс.
errorПроизошедшая ошибка.
Обсуждение
Когда серьезная внутренняя ошибка произошла в сеансе, этот метод вызывают. Ваше приложение должно разъединить сеанс от других коллег и выпустить сеанс.
Оператор импорта
Objective C
@import GameKit;Swift
import GameKitДоступность
Доступный в iOS 3.0 и позже.
