Я работал над реализацией iOS, которая подключается к оборудованию, и поэтому мне приходится использовать платформу External Accessory. Для взаимодействия с устройствами вам необходим класс, который обрабатывает связь с EAAccessory
объектами. Для этого вам нужно определить класс подключения вашего устройства по протоколу EAAccessoryDelegate
.
Протокол EAAccessoryDelegate
содержит один метод -
– accessoryDidDisconnect:(EAAccessory *)accessory
.
Документация Apple гласит:
Протокол EAAccessoryDelegate
определяет один метод получения
уведомления, когда связанный объект EAAccessory
отключен.
Реализация этого метода является необязательной.
Когда вы создаете экземпляр своего класса, вы можете зарегистрировать свои собственные методы в системе NSNotificationCenter
. При наличии события «Подключение устройства» или «Отключение устройства» вы можете обработать событие по своему усмотрению. Когда происходит событие «Отключение устройства», цель - accessoryDidDisconnect:
становится бессмысленной, поскольку она предоставляет те же функции и данные для вашего класса.
Кроме того, в каждом примере, который я могу найти в отношении работы с External Accessory Framework, приводятся примеры обнаружения изменений подключения устройства с помощью механизма подписки NSNotificationCenter
.
С учетом сказанного, какой смысл в методе – accessoryDidDisconnect:
, когда он на самом деле никогда не используется? Да, это может быть реализовано, но, как я уже упоминал, во всех формах документации рекомендуется управлять этими типами изменений подключения с помощью NSNotificationCenter
.
Я знаю, что это вопрос вежливый, но мне довольно любопытно.