Aunque estoy seguro de que existen, tengo dificultades para encontrar o establecer una práctica recomendada oficial para declarar puntos de venta en un ViewController.¿Deberían IBOutlets ser ivars o propiedades?
Hay 3 opciones por lo que yo puedo ver:
- Ivar única
- propiedad sólo
- propiedad respaldado con una Ivar
Xcode se bloquea actualmente cuando intento y concesionarios -generar una propiedad arrastrando mi ViewController desde IB, pero por lo que recuerdo, hacerlo crea una propiedad sin un ivar. También es posible arrastrar a la sección ivar y esto creará un ivar sin una propiedad. Esto sugiere que los puntos de venta solo de propiedad e ivar solo están de acuerdo con Apple.
Por lo tanto, en viewDidUnload necesitamos asignar nil a cualquiera de nuestros puntos de venta, pero ¿qué pasa con dealloc. Si hemos utilizado una propiedad sin un ivar, ¿cómo podemos liberar nuestro outlet dado que se supone que no debemos usar ningún accessors en un init o dealloc?
Me parece que el único patrón que nos permitiría liberar nuestra salida sin un acceso es utilizar una propiedad respaldada con un ivar, por lo que podemos liberar manualmente nuestro ivar en dealloc sin utilizar su acceso, sin embargo, este es el una opción que la generación de código de Apple no admite.
Gracias. Eso es claro y un buen enlace. – Undistraction
@ 1ndivisible De nada. Envíe o marque como respondido si lo desea. Aclamaciones. –
La llamada a super dealloc debe venir después del lanzamiento de la variable de instancia. –