descargar - ios font download
actualizar campo de texto ui en ios veloces (2)
El mismo problema que todos tienen cuando quieren hacer actualizaciones de UI en Swift: nunca actualices la UI en ningún hilo secundario. Y eso significa cualquier cosa con cierres. Como Swift usa tanto los cierres, ese problema se ve mucho más, pero no es nuevo.
Ver Swift Update Label (con contenido HTML) lleva 1 minuto para la forma correcta de hacer las cosas.
Me encuentro con una pregunta cuando estoy usando swift of iOS SDK 8
Utilicé una devolución de llamada para recuperar el fondo de datos y cuando se obtuvieron datos, quiero establecer un valor de campo de texto y una pantalla de actualización.
aquí está mi código:
@IBOutlet var txtTest: UITextField!
@IBAction func login() {
let username = "aaa";
let password = "bbb";
var res = ServiceClient.login(username, password: password){
(res:String, error:String?) -> Void in if(error == nil){
self.txtTest.text = res;
}
}
}
Ejecuta este código y los datos se obtienen correctamente y txtTest no se actualizó, pero cuando toco txtTest, se mostrará el valor. Entonces, ¿hay alguna manera de forzar la actualización de la interfaz de usuario? o enviar un mensaje al hilo de UI?
UIKit no es seguro para subprocesos y solo debe actualizarse desde el hilo principal. Las descargas se realizan en el hilo de fondo y no se puede actualizar la IU desde allí. Tratar:
Para swift 3 y swift 4
DispatchQueue.main.async {
self.txtTest.text = "Your text"
}
Preguntas duplicadas relacionadas pero con respuesta específica
La etiqueta de iOS no actualiza el texto con la función en Swift