Question

J'ai travaillé sur une implémentation iOS qui se connecte au matériel et, en tant que tel, je dois utiliser le framework External Accessories.Pour interagir avec les appareils, vous devez disposer d'une classe qui gère la communication avec EAAccessory objets.Pour ce faire, vous devez définir la classe de connectivité de votre appareil avec le EAAccessoryDelegate protocole.

Le EAAccessoryDelegate le protocole contient une méthode--

– accessoryDidDisconnect:(EAAccessory *)accessory.

La documentation Apple indique :

Le EAAccessoryDelegate protocole définit une méthode unique pour la réception notifications lorsque l’élément EAAccessory l'objet est déconnecté.La mise en œuvre de cette méthode est facultative.

Lorsque vous instanciez votre classe, vous pouvez enregistrer vos propres méthodes auprès du NSNotificationCenter système.Lorsqu'il y a un événement Device Connect ou Device Disconnect, vous pouvez gérer l'événement comme vous le souhaitez.Lorsque l'événement Device Disconnect se produit, le but de l'événement - accessoryDidDisconnect: est rendu inutile car il fournit exactement les mêmes fonctionnalités et données à votre classe.

De plus, chaque exemple que je peux trouver concernant l'utilisation du Framework d'accessoires externes donne des exemples de détection des changements de connectivité des appareils via le NSNotificationCenter mécanisme de souscription.

Cela dit, quel est l'intérêt de – accessoryDidDisconnect: méthode alors qu’elle n’est jamais vraiment utilisée ?Oui, cela peut être implémenté mais comme je l'ai mentionné, toutes les formes de documentation vous recommandent de gérer ces types de modifications de connectivité via le NSNotificationCenter.

Je sais que c'est une question délicate, mais je suis assez curieux.

Était-ce utile?

La solution

Il s'agit d'un modèle de conception assez courant chez Apple, pour fournir un raccourci pour les notifications NSNotificationCenter très courantes.Sous OS X, ils le font avec de nombreuses notifications NSWindow, transmettant le contenu de NSNotification dans ces cas.

Fondamentalement, c'est un moyen simple d'implémenter la notification sans avoir à vous assurer que vous ajoutez et supprimez votre observateur.

En particulier, ceci n'est utilisé qu'après la création d'un objet EAAccessory (ce qui ne se produit qu'après la connexion de l'accessoire) et donc, la méthode connect ne serait pas applicable pour le moment.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top