5
Hola, quiero saber la diferencia entre drenar, soltar, destrabar y retener en Objective-C.diferencia entre drenar, soltar, destrabar y retener en Objective-C/
Hola, quiero saber la diferencia entre drenar, soltar, destrabar y retener en Objective-C.diferencia entre drenar, soltar, destrabar y retener en Objective-C/
retain
aumentar el recuento de referencia en un objetorelease
disminuye la referencia en un objetodrain
se utiliza en lugar de la liberación en SOLAMENTE para NSAutoreleasePool objetos debido a alguna arcana relacionadas con el objetivo C La recolección de basuradealloc
es invocada por el sistema una vez que el valor de retención de un objeto llega a 0. Aquí es donde usted limpia varias cosas que tiene su objeto (como un deconstructor o finalizador). Debe llamar al NUNCA directamente, excepto para llamar al [super dealloc]
al final de sus rutinas dealloc
.Realmente debe leer a través de la gestión de memoria de Apple documentation.
muchas gracias ... – suse
-drain es útil en NSAutoreleasePool para que también funcione bajo GC. A saber, desencadena una colección de inmediato. Si utilizamos -release, entonces bajo GC, ese mensaje sería ignorado, y no pasaría nada. – kperryua
+1 por esta gran respuesta – swiftBoy