buena gente Estimados de stackoverflow,NSDefaultRunLoopMode vs NSRunLoopCommonModes
Al igual que la última vez, por este medio hacer que aparezca una pregunta poco me tropiezo con. Espero que alguien por ahí pueda arrojar algo de luz sobre mí.
Cada vez que intento descargar un archivo grande detrás de UIScrollView
, MPMapView
o algo así, el proceso de descarga se detiene tan pronto como toco la pantalla del iPhone. Afortunadamente, una impresionante publicación de blog por Jörn sugiere una opción alternativa, usando NSRunLoopCommonModes
para la conexión.
Eso me pone miro en detalle de los dos modos, NSDefaultRunLoopMode y NSRunLoopCommonModes, pero el documento de manzana no amablemente explicar, que no sea diciendo
NSDefaultRunLoopMode
El modo de tratar con fuentes de entrada que NSConnection objetos. Este es el modo de ciclo de ejecución más comúnmente utilizado.
NSRunLoopCommonModes
objetos añadidos a un bucle de ejecución utilizando este valor como el modo son monitoreados por todos los modos de bucle de ejecución que han sido declarados como un miembro del conjunto de modos de “comunes"; ver el Descripción de CFRunLoopAddCommonMode para más detalles.
CFRunLoopAddCommonMode
Fuentes, temporizador s, y los observadores se registran en uno o más modos de ciclo de ejecución y solo se ejecutan cuando el ciclo de ejecución se ejecuta en uno de esos modos. Los modos comunes son un conjunto de modos de ciclo de ejecución para los que puede definir un conjunto de fuentes, temporizadores y observadores que comparten estos modos. En lugar de registrar una fuente, por ejemplo, para cada modo de ciclo de ejecución específico, puede registrarla una vez en el pseudo-modo común del ciclo de ejecución y se registrará automáticamente en cada modo de ciclo de ejecución en el conjunto de modos comunes. Del mismo modo, cuando se agrega un modo al conjunto de modos comunes, cualquier fuente, temporizador u observador ya registrado en el pseudo-modo común se agrega al modo común recién agregado.
¿Alguien puede explicar los dos en lenguaje humano?
Estimado Viggio24, muchas gracias por esta explicación clara y precisa. Le pediría a Apple que incluyera su comentario en su guía API. ;) – Stkim1
He votado por su respuesta porque es absolutamente clara. Gracias por compartir su conocimiento. –
** La respuesta de viggio24 ** es perfecta. Para los interesados, señalaré que ** La sesión 208 (aplicaciones de red para iPhone OS, parte 2) ** de WWDC 2010 contiene una introducción sobre los bucles de ejecución. Si está interesado, eche un vistazo. Espero eso ayude. –