Crear conveniencia Inicializador en la subclass que llama Inicializador faible

Intenté muchas variaciones de la derivación a continuación, pero ninguna funcionó.

import Foundation import SceneKit class test:SCNScene{ override init(){ super.init() } requinetworking init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } convenience init? (i:UIViewController){ self.init(named:"") //Compile Error:use of self delegating initializer before self.init is called } } 

De acuerdo con la documentation de Swift , la regla 2 de initialization, no debe iniciarse (nombre: String) convenience failable Initializer estará disponible después de implementar los 2 Initializer designados? ¿Qué me estoy equivocando?

La regla de delegación de inicializador n. ° 2 declara

Un inicializador de conveniencia debe llamar a otro inicializador de la misma class.

Su class no define init? (Named: String), por lo que llamará al inicializador de superclass (al que tiene acceso bajo la otra regla # 2 a la que se refería), pero esto no satisfará el requisito de llamar a un inicializador sin conveniencia de su class.

Simplemente puede llamar a self.init antes de llamar al inicializador de superclass.

 convenience init? (i:UIViewController){ self.init() self.init(named:"") }