2017-01-29 14 views
0

と呼ばれていない私は、M13Checkboxを使用していますし、それは私のターゲットアクションカスタムUIControllターゲットアクションが

let checkbox: M13Checkbox = { 
    let checkbox = M13Checkbox() 
    checkbox.cornerRadius = 1 
    checkbox.boxType = .square 
    checkbox.stateChangeAnimation = .bounce(.fill) 
    checkbox.tintColor = UIColor(red: 66/255, green: 172/255, blue: 232/255, alpha: 1) 
    checkbox.checkmarkLineWidth = 4 
    checkbox.addTarget(self, action: #selector(checkMarkAction(_ :)), for: .valueChanged) 
    return checkbox 
}() 

func checkMarkAction(_ sender: M13Checkbox) { 
    print("M13CheckboxAction") 
} 

答えて

0

は、私はちょうどawakeFromNib()方法で

checkbox.addTarget(self, action: #selector(checkMarkAction(_ :)), for: .valueChanged) 

この文を移動してきたし、それは私が迅速コンパイラエラーを取得

0

を呼び出すためにイベントを送信していない私はあなたがこのようなセレクタ参照する必要があると思う:どのように一致させるために#selector(checkMarkAction:)をObjective Cランタイムに表示されます。

ターゲットアクションパターン(およびSwiftのその他の動的機能)は、Objective Cランタイムの上に実装されるため、SwiftメソッドのObjective Cスタイル名を探しています。

+0

正常に動作し、私はちょうど、新しいテストプロジェクトを開始し、同じことをやってみましたそれは働いている!プロジェクトの問題を解決するにはどうすればよいですか? – astrolka

+0

コンパイラエラーとは何ですか?そして、どのライン? –

+0

https://snag.gy/ZLJWqC.jpg – astrolka

0

これを試しましたか?

checkbox.addTarget(self, action: #selector(checkMarkAction), for: .valueChanged)