Design pattern per bloccare operazioni asincrone in Objective-C

1

Sto scrivendo la mia prima classe Objective-C. È responsabile dell'interazione con un servizio di autenticazione SSO HTTP.

Il processo richiede più transazioni HTTP per il completamento. La classe funge da NSURLConnectionDelegate per il proprio oggetto NSURLConnection . L'oggetto NSURLConnectionDelegate funziona in modo asincrono.

Devo disabilitare un tentativo di autenticazione quando un altro è in corso. Ho un'idea di come farlo da solo, ma voglio conoscere i modelli di progettazione per questa situazione.

La mia idea attuale è controllare una variabile di istanza per vedere se è in corso l'autenticazione e, in tal caso, semplicemente non avviarne un'altra. Tuttavia, non sono sicuro di come comunicare questo alla classe chiamante. Il mio metodo al momento ritorna vuoto. Dovrei usare un NSError e restituirlo se è in corso un altro tentativo di autenticazione?

    
posta retrodev 17.09.2013 - 17:56
fonte

1 risposta

0

Ho deciso di utilizzare un BOOL come semaforo sul mio metodo di autenticazione. Se l'autenticazione è già in corso o completa, restituisco un oggetto NSError.

    
risposta data 03.10.2013 - 11:56
fonte