2017-09-27 7 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") 
    } 


} 

"rightanswer"という変数をboolとして保存してカスタムクラスボタンを作成しようとしています。しかし、ビルドしようとすると、「指定されたイニシャライザを呼び出す必要があります」というエラーが表示されます指定された初期化エラーを呼び出す必要があります

+6

、以下のようにのように(「UIButtonのための指定イニシャライザを」)、このエラーはなかったことを意味しますスーパークラスの指定された初期化子を呼び出します。ドキュメントで、 'UIButton'の指定された初期化子が何であるべきかを調べてください。ヒント: 'init()'ではありません。 –

答えて

0

スーパークラス指定の初期化が実装されていないコンパイル時エラーです。 UIButtonのサブクラスとして は、(オーバーライド)のinit(フレーム:CGRect)を実装する必要があり、それは錫で言うと同じように

> override init(frame: CGRect) { 
      super.init(frame: frame) 
      rightAnswer = true 
    } 
関連する問題