objective-c ios cocoa-touch ios5 automatic-ref-counting

objective c - ¿Cuándo debo usar el calificador débil o fuerte con IBOutlet?



objective-c ios (1)

Posible duplicado:
¿IBOutlets debería ser fuerte o débil bajo ARC?

En la documentación, leí "Los outlets generalmente deberían ser débiles, excepto aquellos desde el propietario del archivo hasta los objetos de nivel superior en un archivo nib (o, en iOS, una escena del guión gráfico) que deberían ser fuertes".

¿Ejemplos? No entiendo cuándo es mejor usar una propiedad "débil" en lugar de "fuerte" para un IBOutlet.


En general: si está realizando una salida a una subvista de la subvista ViewControllers, debería ser débil. El objeto existe mientras exista la vista superior (entre viewDidLoad y viewDidUnload). Como iOS 5 ARC anula automáticamente los enlaces débiles, cuando viewController descarga su vista y ve la jerarquía de la vista destruida, su salida se configura automáticamente en cero.

Pero tal vez desee crear otro objeto en su archivo de punta (un objeto modelo). Como este objeto no se encuentra debajo de la jerarquía de vistas, debe fortalecer el iboutlet. Si lo vincula débilmente, el objeto se liberará automáticamente, ya que ningún otro objeto tiene una referencia fuerte y ARC lo liberará y establecerá nil en su IBOutlet. Este no es el caso de una subvista, ya que su supervista mantiene un fuerte vínculo con ella.