Dibujo asíncrono y toques.

Tengo un área de dibujo (UIView), donde dibujo dentro de CGContextRef.
Por supuesto estoy atrapando toques para dibujar. Mientras que el método drawRect dibuja lentamente gran cantidad de objetos existentes, los toques no se atrapan.
Si llamo al dibujo en drawRect en un hilo separado o con la función "dispatch_async" no se dibuja porque no tiene el contexto apropiado.
He buscado mucho pero no he encontrado nada.

dispatch_async(dispatch_get_main_queue(), ^{
    [_mainArea setNeedsDisplay];
});
Estas cosas tampoco ayudan.

¿Que puedo hacer? ¿Alguien puede ayudar a atrapar toques y dibujar muchos objetos simultáneamente?

Respuestas a la pregunta(1)

Su respuesta a la pregunta