Siguiendo un tutorial de iOS 5 sobre el curso Paul Hegarty, vemos este código en una aplicación que demuestra el uso de GCD. Aparentemente, GCD requiere liberación debido a problemas relacionados con el hecho de que los subprocesos múltiples son algo impredecibles en cuanto a los objetos que aún se necesitan.¿Necesita liberar colas GCD bajo ARC en iOS 6.0?
dispatch_async(dowloadQueue, ^{
....
// do some stuff
....
});
dispatch_release(dowloadQueue);
He actualizado a iOS 6 y XCode 4.5 y obtener una "ARC prohíbe liberación explícita ..." mensaje de
no probé este código bajo iOS5/XCode 4.2
¿Esto es solo porque ARC se volvió más inteligente y ya no necesito liberarme en GCD? ¿O acabo de malinterpretar?
¿Necesita __bridge_transfer a Objective-C cuando crea la cola? – openfrog
@openfrog - No, si se trata como un objeto Objective-C, ya lo maneja ARC, por lo que no es necesario transferirlo. –
@BradLarson ¿Hay alguna manera de apagar esto? O, ¿cómo lo escribo para que se compile en iOS 5 e iOS 6? – fishinear