Domanda

Ho lavorato su un'implementazione iOS che si connette all'hardware e, in quanto tale, doverò utilizzare il quadro accessorio esterno. Per interagire con i dispositivi, è necessario avere una classe che gestisce la comunicazione con oggetti EAAccessory. Per fare ciò, devi definire la classe di connettività del dispositivo con il protocollo EAAccessoryDelegate.

Il protocollo EAAccessoryDelegate contiene un metodo--

– accessoryDidDisconnect:(EAAccessory *)accessory.

La documentazione Apple afferma:

.

Il protocollo EAAccessoryDelegate definisce un singolo metodo per ricevere Notifiche quando l'oggetto EAAccessory associato è disconnesso. L'implementazione di questo metodo è facoltativa.

Quando stai istanziando la tua classe, è possibile registrare i tuoi metodi con il sistema NSNotificationCenter. Quando c'è un evento di disconnessione del dispositivo Connect o Device Device è possibile gestire l'evento come desideri. Quando si verifica il dispositivo scollegare l'evento, lo scopo del - accessoryDidDisconnect: viene reso inutilizzato inutilizzato perché fornisce la stessa esatta funzionalità e dati alla tua classe.

Inoltre, sempre l'esempio che posso trovare per quanto riguarda il funzionamento con il framework accessorio esterno fornisce esempi di rilevare le modifiche della connettività del dispositivo tramite il meccanismo di sottoscrizione NSNotificationCenter.

Con ciò detto, qual è il punto del metodo – accessoryDidDisconnect: quando non è mai usato? Sì, può essere implementato ma come ho detto, tutte le forme di documentazione consigliano di gestire questi tipi di modifiche di connettività attraverso il NSNotificationCenter.

So che questa è una domanda a maglia piccy, ma sono piuttosto curioso.

È stato utile?

Soluzione

Questo è un modello di design piuttosto comune con Apple, per fornire un taglio breve per le notifiche NSnotificationCenter molto comuni.Su OS X, lo fanno con molte delle notifiche Nswindow, passando lungo il contenuto di NSnotification in quei casi.

Fondamentalmente, è un modo semplice per implementare la notifica senza dover assicurarsi di aggiungere e rimuovere il tuo osservatore.

In particolare, questo viene utilizzato solo dopo che è stato creato un oggetto eaccessoriale (che succede dopo che l'accessorio è collegato) e quindi, con il metodo di connessione non sarebbe applicabile in questo momento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top