Я работаю над реализацией iOS, которая подключается к оборудованию, и поэтому я должен использовать структуру внешнего аксессуара. Чтобы взаимодействовать с устройствами, вам необходимо иметь класс, который обрабатывает связь с объектами EAAccessory
. Для этого вам необходимо определить класс подключения устройства к протоколу EAAccessoryDelegate
.Какова цель метода - accessoriesDidDisconnect: метод в EAAccessoryDelegate?
Протокол EAAccessoryDelegate
содержит одну method--
– accessoryDidDisconnect:(EAAccessory *)accessory
.
В документации говорится Apple:
Протокол
EAAccessoryDelegate
определяет один метод для получения уведомления, когда соответствующийEAAccessory
объект отключается. Внедрение этого метода является необязательным.
Когда вы создаете экземпляр класса, вы можете зарегистрировать свои собственные методы с помощью системы NSNotificationCenter
. Когда есть событие Device Connect или Device Disconnect, вы можете обрабатывать событие по своему усмотрению. Когда происходит событие «Отключить устройство», назначение - accessoryDidDisconnect:
представляется бессмысленным, поскольку оно предоставляет точно такие же функциональные возможности и данные для вашего класса.
Кроме того, когда-либо пример, который я могу найти относительно работы с внешней инфраструктурой доступа, дает примеры обнаружения изменений подключения устройства через механизм подписки NSNotificationCenter
.
С учетом сказанного, какова точка метода – accessoryDidDisconnect:
, когда он никогда не используется? Да, это может быть реализовано, но, как я уже упоминал, все формы документации рекомендуют вам управлять этими типами изменений связи через NSNotificationCenter
.
Я знаю, что это сложный вопрос, но мне очень любопытно.
Я предположил, что это так, разве не странно, что нет подобного «-accessoryDidConnect»? Правда, я бы предпочел использовать вызов для определенного метода делегата, однако, для согласованности, я использую систему уведомлений. – RLH
Не совсем. Проблема в том, что объект EAAcessory существует только тогда, когда аксессуар подключен, поэтому в этом случае нечего делать. – gaige