2017-09-27 5 views
-3
import UIKit 

class RightAnswerButtonClass: UIButton { 

    var rightAnswer: Bool 


    init() { 
     super.init() 
     rightAnswer = false 

    } 
    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 


} 

Je tente de créer un bouton de classe personnalisé avec la variable "rightanswer" stockée en tant que booléen. Cependant, quand j'essaye de construire, je reçois l'erreur "Doit appeler un initialiseur désigné"Doit appeler une erreur d'initialisation désignée

+6

Tout comme il est dit sur l'étain, cette erreur signifie que vous ne l'avez pas Appelez l'initialiseur désigné de votre superclasse. Regardez dans la documentation pour comprendre ce que l'initialiseur désigné pour 'UIButton' devrait être. Astuce: ce n'est pas 'init()'. –

Répondre

0

C'est l'erreur de temps de compilation où l'initialisation désignée par super classe n'est pas implémentée. Comme sous-classe de UIButton doit mettre en œuvre (override) init (cadre: CGRect) (« désigné Initialiser pour UIButton ») comme ci-dessous,

> override init(frame: CGRect) { 
      super.init(frame: frame) 
      rightAnswer = true 
    }