Progtwigción de events de NSStream en un NSRunLoop que no es el ciclo de ejecución principal

Estoy progtwigndo events en el ciclo principal de ejecución con el siguiente código:

[stream setDelegate:self]; [stream scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode]; [stream open]; 

Supongo que esto significa que los events de NSStreamDelegate se progtwign en el bucle de ejecución principal y, por lo tanto, pueden afectar potencialmente la capacidad de respuesta de la interfaz de usuario si es lo suficientemente frecuente. Este ciertamente parece ser el caso en mi progtwig, incluso si los manejadores de events se separan en un hilo de background sin hacer mucho trabajo ellos mismos.

¿Cómo haría para progtwigr un ciclo de mainRunLoop que no sea mainRunLoop ? ¿Debo crear un hilo? ¿Puedo crear un NSRunLoop directamente? ¿Qué configuration se debe realizar?

Mi sugerencia es utilizar un nsoperstion concurrente. Tengo una aplicación de demostración en github que muestra cómo enviar un post de ese tipo. Encontrarás muchos de esos proyectos también. A continuación, puede usar la variante performSelector que toma un especificador de subprocesss (el subprocess para tal operación es persistente).

El op tiene un bucle de ejecución por lo que se puede enviar un post de text, un hilo, puede cancelarse fácilmente y puede crear varios de ellos.