EASession
Оператор импорта
Swift
import ExternalAccessory
Objective C
@import ExternalAccessory;
Доступность
Доступный в iOS 3.0 и позже.
EASession класс используется для создания канала передачи между приложением и связанным аппаратным аксессуаром. При создании сеанса необходимо указать протокол, который Вы хотите использовать для передачи с аксессуаром. После инициализации экземпляра этого класса Вы используете предоставленный вывод и вводите потоки для передачи данных и от аксессуара с помощью того протокола.
После создания объекта сеанса необходимо сразу получить и сконфигурировать потоковые объекты, предоставленные сеансом. Потоки отправляют события своему связанному делегату для уведомления его относительно изменений в потоковом состоянии. Например, потоки уведомляют делегата, когда данные ожидают, чтобы быть считанными или когда больше пространства доступно для записи данных. Для получения дополнительной информации о том, как использовать потоковые объекты, см. Потоковое Руководство по программированию.
При отправке и получении данных с помощью предоставленных потоков, это - ответственность гарантировать, что данные отформатированы согласно указанному протоколу. EASession класс не знает об определенных, вспомогательных протоколы, и не пытается отформатировать данные всегда прежде или после передачи его.
-
Инициализирует сеанс для указанного аксессуара и протокола.
Объявление
Swift
init!(accessoryaccessory: EAAccessory!, forProtocolprotocolString: String!)Objective C
- (instancetype)initWithAccessory:(EAAccessory *)accessoryforProtocol:(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 и позже.
