ios - lenguaje - the swift programming language pdf
Swift haciendo IBOulet tan fuerte (5)
A partir de Xcode 6 beta 3, Swift ahora permite marcar @IBOutlets
como strong
.
De las notas de publicación :
• Los @IBOutlets pueden estar marcados explícitamente como fuertes para anular su comportamiento implícitamente débil. (16954464)
Los IBOutlets son débiles por defecto en Swift. Tengo un objeto en el viewController Creado en el guión gráfico que no está en la jerarquía de vistas, por lo que necesito que sea una referencia sólida en ViewController . ¿Cómo puedo cambiar la propiedad de @IBoutlet a fuerte?
Ahora es una opción al crear la salida de un menú desplegable.
Aquí es por qué podemos querer comenzar a fortalecerlos desde la sesión 407 de la WWDC 2015
http://asciiwwdc.com/2015/sessions/407
Y la última opción que quiero señalar es el tipo de almacenamiento, que puede ser fuerte o débil.
En general, debe fortalecer su salida, especialmente si está conectando una salida a una subvista o a una restricción que no siempre será retenida por la jerarquía de vistas.
La única vez que realmente necesita debilitar una salida es si tiene una vista personalizada que haga referencia a una copia de seguridad de la jerarquía de vistas y, en general, no se recomienda.
Así que voy a elegir fuerte y haré clic en conectar que generará mi salida.
La palabra clave strong
se ha ido de nuevo y genera un error de sintaxis en Xcode 6.1.1. Parece que los puntos de venta ahora son fuertes por defecto, que anteriormente era lo contrario. Así que simplemente defina la salida sin declaración adicional.
@IBOutlet var nameOfOutlet: type = Whatever();
Puede hacer que un IBOutlet
sea strong
si selecciona strong
cuando conecta la salida:
O simplemente elimine la palabra clave weak
de la declaración:
@IBOutlet var label: UILabel!
A partir de Xcode 6 beta 2, Swift no tiene una manera de designar puntos de venta fuertes. La solución es conectar la salida en IB, luego eliminar el atributo @IBOutlet
de su archivo fuente.
Actualización: Esto se ha añadido en Xcode 6 beta 3.