¿Necesita liberar colas GCD bajo ARC en iOS 6.0?
xcode automatic-ref-counting (1)
Siguiendo un tutorial de iOS 5 sobre el curso de 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 el subprocesamiento múltiple sea algo impredecible en lo que los objetos aún son necesarios.
dispatch_async(dowloadQueue, ^{
....
// do some stuff
....
});
dispatch_release(dowloadQueue);
Me actualicé a iOS 6 y XCode 4.5 y recibo el mensaje "ARC prohíbe el lanzamiento explícito ..."
No probé este código bajo iOS5 / XCode 4.2
¿Esto es solo porque ARC se volvió más inteligente y ya no necesito el lanzamiento en GCD? ¿O acaso he entendido mal?
Cuando se dirige a Mountain Lion y iOS 6.0, ARC ahora administrará las colas de envío y otros tipos de GCD para usted. Si te diriges a versiones anteriores de OS X o iOS, aún necesitarás retener y lanzar explícitamente los tipos de GCD (no solo por razones de seguridad de subprocesos, de lo contrario perderás memoria), pero esto se maneja cuando solo te diriges a los sistemas operativos más nuevos. versiones
Esta es la razón por la que ve un error de compilador de este tipo en ARC cuando se dirige a iOS 6.0.