che sto programmando un'applicazione che fa uso di richieste web asincrone utilizzando NSURLConnection, quindi non ho più thread in esecuzione. Per garantire che la logica principale del mio app accade su un filo, sto facendo un uso pesante di performSelectorOnMainThread:waitUntilDone:
. A volte, però, sto eseguendo questo argomento sul thread principale, che ha stuzzicato la mia curiosità.Se performSelectorOnMainThread: waitUntilDone: viene chiamato dal thread principale, quando sarà eseguito?
Se performSelectorOnMainThread:waitUntilDone:
viene chiamato mentre nel thread principale? Funziona allo stesso modo di performSelector:
? Che cosa succede se waitUntilDone:
è YES
? Cosa succede se è NO
?
EDIT: ho trovato che quando waitUntilDone:
è YES
, il selettore viene eseguita (quasi) immediatamente, ma non posso capire quando viene eseguito se waitUntilDone:
è NO
.
Ho scoperto che quando 'waitUntilDone:' è 'YES', il selettore viene eseguito (quasi) immediatamente, ma non riesco a capire quando viene eseguito se' waitUntilDone: 'è' NO'. – Jumhyn
Il debugger non aiuta qui? Basta cercare quando viene generato un nuovo thread. –
@Cole, 'performSelector' ** OnMainThread: ** non sta per creare un thread, specialmente quando è chiamato _from_ il thread principale. –