EASession
Оператор импорта
Swift
import ExternalAccessory
Objective C
@import ExternalAccessory;
Доступность
Доступный в iOS 3.0 и позже.
EASession
класс используется для создания канала передачи между приложением и связанным аппаратным аксессуаром. При создании сеанса необходимо указать протокол, который Вы хотите использовать для передачи с аксессуаром. После инициализации экземпляра этого класса Вы используете предоставленный вывод и вводите потоки для передачи данных и от аксессуара с помощью того протокола.
После создания объекта сеанса необходимо сразу получить и сконфигурировать потоковые объекты, предоставленные сеансом. Потоки отправляют события своему связанному делегату для уведомления его относительно изменений в потоковом состоянии. Например, потоки уведомляют делегата, когда данные ожидают, чтобы быть считанными или когда больше пространства доступно для записи данных. Для получения дополнительной информации о том, как использовать потоковые объекты, см. Потоковое Руководство по программированию.
При отправке и получении данных с помощью предоставленных потоков, это - ответственность гарантировать, что данные отформатированы согласно указанному протоколу. EASession
класс не знает об определенных, вспомогательных протоколы, и не пытается отформатировать данные всегда прежде или после передачи его.
-
Инициализирует сеанс для указанного аксессуара и протокола.
Объявление
Swift
init!(accessory
accessory
: EAAccessory!, forProtocolprotocolString
: String!)Objective C
- (instancetype)initWithAccessory:(EAAccessory *)
accessory
forProtocol:(NSString *)protocolString
Параметры
accessory
Аксессуар, с которым Вы хотите связаться. Можно получить список вспомогательных объекты от
EAAccessoryManager
объект.protocolString
Протокол для использования при передаче с аксессуаром. Этот протокол должен быть тем, который понимает аксессуар. Вся связь с аксессуаром, как ожидают, будет использовать этот протокол.
Возвращаемое значение
Инициализированный объект сеанса. Этот метод может возвратиться
nil
если аксессуар не распознает указанный протокол или была ошибка при передаче с аксессуаром.Обсуждение
Может быть только один объект сеанса за один раз для данного аксессуара и комбинации протокола.
Оператор импорта
Objective C
@import ExternalAccessory;
Swift
import ExternalAccessory
Доступность
Доступный в iOS 3.0 и позже.
-
accessory
СвойствоАксессуар, присоединенный к этому сеансу. (только для чтения)
Объявление
Swift
var accessory: EAAccessory! { get }
Objective C
@property(nonatomic, readonly) EAAccessory *accessory
Оператор импорта
Objective C
@import ExternalAccessory;
Swift
import ExternalAccessory
Доступность
Доступный в iOS 3.0 и позже.
-
protocolString
СвойствоПротокол, используемый для связи с аксессуаром. (только для чтения)
Объявление
Swift
var protocolString: String! { get }
Objective C
@property(nonatomic, readonly) NSString *protocolString
Оператор импорта
Objective C
@import ExternalAccessory;
Swift
import ExternalAccessory
Доступность
Доступный в iOS 3.0 и позже.
-
inputStream
СвойствоПоток для использования для получения данных от аксессуара. (только для чтения)
Объявление
Swift
var inputStream: NSInputStream! { get }
Objective C
@property(nonatomic, readonly) NSInputStream *inputStream
Обсуждение
Этот поток предоставлен для Вас автоматически объектом сеанса, но необходимо сконфигурировать его, если Вы хотите получить какие-либо связанные потоковые события. Вы делаете это путем присвоения делегата возражает против потока, реализующего
stream:handleEvent:
метод делегата. Необходимо тогда запланировать поток в цикле выполнения так, чтобы он мог получить данные асинхронно от одного из потоков приложения.Для получения информации о том, как запланировать входной поток в цикле выполнения и использовать его, чтобы получить данные, видеть Потоковое Руководство по программированию.
Оператор импорта
Objective C
@import ExternalAccessory;
Swift
import ExternalAccessory
Доступность
Доступный в iOS 3.0 и позже.
-
outputStream
СвойствоПоток для использования для отправки данных к аксессуару. (только для чтения)
Объявление
Swift
var outputStream: NSOutputStream! { get }
Objective C
@property(nonatomic, readonly) NSOutputStream *outputStream
Обсуждение
Этот поток предоставлен для Вас автоматически объектом сеанса, но необходимо сконфигурировать его, если Вы хотите получить какие-либо связанные потоковые события. Вы делаете это путем присвоения делегата возражает против потока, реализующего
stream:handleEvent:
метод делегата. Необходимо тогда запланировать поток в цикле выполнения так, чтобы он мог отправить данные асинхронно от одного из потоков приложения.Для получения дополнительной информации о том, как запланировать поток вывода в цикле выполнения и использовать его, чтобы отправить данные, видеть Потоковое Руководство по программированию.
Оператор импорта
Objective C
@import ExternalAccessory;
Swift
import ExternalAccessory
Доступность
Доступный в iOS 3.0 и позже.