tutorial the programming playground library language developer apple ios iphone swift

ios - the - Swift, super.init() Debe llamar a un inicializador designado de la superclase ''UIView'' error



swift playground ios (2)

Esta pregunta ya tiene una respuesta aquí:

Soy nuevo con Swift. Heredé un proyecto. Lo vi corriendo en un dispositivo. Sin embargo, cuando compruebo el código y tenía muchos errores. Pude borrar los errores. Sin embargo, me encuentro con este que me está desconcertando. El proyecto también utiliza archivos xib. Aquí está el código.

required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override init(frame: CGRect) { super.init(frame: frame) } init(items:NSArray, viewController:AnyObject){ super.init() //itemsArray = items itemsArray = items as [AnyObject] //commonInit(viewController as UIViewController) commonInit(viewController as! UIViewController) }

Obtengo el error en el método / función init (items: NSArray, viewController: AnyObject). El error apunta al "super.init ()". Indica "Debe llamar a un inicializador designado de la superclase ''UIView'' error"

He estado buscando, buscando en Google, preguntando a otros y nada ha aparecido. ¿Puedo obtener ayuda para corregir este error, o al menos por qué ocurre este error? Me gustaría entender para poder convertirme en un mejor desarrollador de software.

Edit: Me gustaría agradecer a todos por su comprensión y ayuda. Descubrí que el problema es más grande. Hice los cambios sugeridos en el super.init (cuadro: CGRect). Tuve que cambiar una propiedad de matriz también que estaba afectando a la función init.


Como sugiere el mensaje de error, solo puede llamar al inicializador designado de la superclase.

Para resolver esto necesitas llamar: super.init(frame: frame) lugar de super.init()


UIView inicializadores designados por UIView son:

init(frame: CGRect) init(coder aDecoder: NSCoder)

Está llamando a super.init() que es un inicializador heredado de su superclase NSObject . Utilice uno de esos inicializadores en lugar de lo que sugiere el compilador.