Recentemente ho iniziato a fare qualche programmazione più complicata con il lavoro relativo alla rete su iOS con Swift. Questo ha introdotto un sacco di codice asincrono non solo in rete ma anche alcuni scambi di informazioni tra i controller di visualizzazione.
Ad ogni modo, la mia domanda è semplice e può essere abbastanza generale. Per quanto ne so, ci sono (almeno) quattro modi per fare il callback, quindi c'è una regola generale su quale sia meglio in ogni caso?
- chiusura della richiamata (funzione) come argomento della funzione
- delegazione con protocollo
- notifica (o osservatore)
- oggetto stato condiviso
Utilizzare i casi nella mia applicazione
- Materiale di rete, richiesta POST o file di download
- passare i dati a senso unico tra i controller di visualizzazione sul pulsante tocca
- passaggio dei dati in entrambe le direzioni tra i controller di visualizzazione (Una vista mostra l'opzione selezionata, un'altra vista fornisce le opzioni reali che l'utente può selezionare)