Mantengo una cola de distribución como propiedad con mi controlador de vista. Creo esta cola una vez en el método init de mi controlador de vista, y la reutilizo varias veces para algunas tareas en segundo plano. Antes de ARC, que estaba haciendo esto:¿Qué propiedad debo usar para una Cola de despacho después de ARC?
@property (nonatomic, assign) dispatch_queue_t filterMainQueue;
Y en init:
if (filterMainQueue == nil) {
filterMainQueue = dispatch_queue_create("com.myQueue.CJFilterMainQueue", NULL);
}
Pero después de ARC, no estoy seguro de si esto todavía debe ser "asignar", o debe ser "fuerte "o" débil ". La secuencia de comandos del convertidor ARC no cambió nada, pero no estoy seguro de si un error sutil proviene del hecho de que esta cola podría ser desasignada mientras se está utilizando.
¿Cuál sería la diferencia entre los 3 tipos de propiedades y qué funcionaría mejor para una cola de envío cuando se usa ARC?
@JimThio: [Grand Central Dispatch] (http://developer.apple.com/library/ios/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html) –
Esto ya no es cierto en Mountain Lion - ver /usr/include/os/object.h. Los "objetos" GCD y XPC (cualquier cosa que puedas liberar explícitamente) ahora se comportan lo suficiente como objetos ObjC que pueden participar en ARC. – jkh
@jkh ¿eso incluye también la plataforma iOS? – Ankur