Disculpas si esto se ha preguntado antes, he buscado mucho y muchas respuestas son de versiones beta de Swift anteriores cuando las cosas eran diferentes. Parece que no puedo encontrar una respuesta definitiva.
Quiero UIViewController
crear una subclase y tener un inicializador personalizado que me permita configurarlo en código fácilmente. Tengo problemas para hacer esto en Swift.
Quiero una init()
función que pueda usar para pasar un específico NSURL
que luego usaré con el controlador de vista. En mi mente se parece a algo así init(withImageURL: NSURL)
. Si agrego esa función, me pide que agregue la init(coder: NSCoder)
función.
Creo que esto se debe a que está marcado en la superclase con la required
palabra clave? ¿Entonces tengo que hacerlo en la subclase? Lo agrego:
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
¿Ahora que? ¿Mi inicializador especial se considera convenience
uno? ¿Uno designado? ¿Llamo a un superinicializador? ¿Un inicializador de la misma clase?
¿Cómo agrego mi inicializador especial a una UIViewController
subclase?