2016-04-27 5 views
0

における関数の宣言内の識別子私はスウィフトの初心者ですとに慣れるしようとしている...は、私は私のカスタムUIButtonクラスのシンプルなinitメソッドをしようとしていますスウィフト

予想されます。

しかし、それは関数の宣言で期待される識別子が

私の方法は以下の通りであると言い、

override func init(frame: CGRect) {  
} 

私は、このエラーの回答の負荷を検索するが、成功を得ることができませんでした。

どうしたのですか?

おかげで、

BR

答えて

2

funcを残す:

override init(frame: CGRect) { 
    // ... 
} 
+0

、それは、必要なinitは(コーダaDecoder:NSCoder)と言う{ 致命( "INIT(コーダは:)実装されていない") } – erdemgc

+0

はうん、それは手段(?驚き!)あなたはまた、そのイニシャライザを実装する必要があります。 :) –

1

まずあなたがFUNCキーワードでinitを書き込むことはできません。あなたはこのように記述する必要があります。

class myButton: UIButton { 

    override init(frame: CGRect) { 
    super.init(frame: frame) 
    } 

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

init?(coder:)の実装が含まれている必要がありイニシャライザを実装アップルのドキュメントの

すべてのUIViewサブクラスに応じました。 Swiftコンパイラはこれを認識しており、コード内でこの変更を行うための修正を提供しています。修正プログラムは、コード内のエラーの潜在的な解決策としてコンパイラによって提供されます。私も試み

you can follow this link

関連する問題