Sto sviluppando un software con Xcode 6 utilizzando Swift. Quando premo un pulsante, il mio codice prende alcune informazioni dal web e le scrive sul mio NSWindow.Utilizzo dei thread per aggiornare l'interfaccia utente con Swift
Quindi immaginate qualcosa di simile:
@IBAction func buttonPressed(sender: AnyObject)
{
for page in listOfPages //Number of pages is 40.
{
var label: NSTextField = NSTextField();
label.stringValue = getInformetionsFromPage(page)
/*
some code to add label in the window here
*/
}
}
Il problema è che una volta che fa clic sul pulsante, ci vuole un po prima di vedere la lista dei risultati, nel tempo principale dell'app è congelato. Questo perché non sto usando alcun thread per gestire questo problema. Come posso implementare i thread per vedere ogni etichetta aggiornata in ogni fase del ciclo? Sono nuovo con i thread e Swift, quindi avrei bisogno di aiuto!
Grazie ragazzi.
Eccellente! Ho solo un dubbio, qui nel tuo codice dove dovrei impostare la cornice dell'etichetta nella finestra? Prima della terza linea? – Matt
Non so se è vero per il cacao ma nel tocco di cacao non si dovrebbe mai accedere al codice ui su un thread diverso da quello principale. Quindi, prima della prima spedizione e all'interno del secondo blocco di spedizione, è possibile accedere in tutta sicurezza al codice ui – mustafa
Grazie mille !! – Matt