Domanda

Ho un'app iOS in cui 5 NSBLOCKOPERATIONS produce un NSarray di oggetti ciascuno e aggiungerlo a un nsmutablearay sincronizzato condiviso che funge da UITivolableView DataSource.

L'operazione è indipendente l'una dall'altra e non appena hanno finito, ho bisogno di avviare una uevolazza Vista di dati Ricarica.

Purtroppo non riuscivo a trovare un modo per farlo con la nsoperazione.Devo usare un altro design multi filettatura?

È stato utile?

Soluzione

Aggiungi i dati di ricarica chiamare ancora un'altra nsoperazione, che ha come dipendenze (vedi addDependency:) le altre cinque operazioni.Non verrà quindi eseguito fino a quando gli altri sono completi.

Assicurarsi di avvolgere le chiamate dell'interfaccia utente in una spedizione GCD al thread principale.

Dal riferimento di nsoperazione:

.

Le dipendenze sono un modo conveniente per eseguire le operazioni in un ordine specifico.È possibile aggiungere e rimuovere le dipendenze per un'operazione utilizzando l'adddependency: e toblementency: metodi.Per impostazione predefinita, un oggetto operativo che ha dipendenze non è considerato pronto fino a quando tutti i suoi oggetti operativi dipendenti hanno finito l'esecuzione.Una volta che l'ultima operazione dipendente finisce, tuttavia, l'oggetto operativo diventa pronto e in grado di eseguire.

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