#selector(
内のメソッド名にコード補完が行われ、実行時にセレクタが認識されないというエラー(IllegalArgumentException)が発生してクラッシュします。Xcode9/Swift4でもUnrecognizedSelectorはどのように可能ですか?
セレクタ構文を単に文字列ではなく、やり直した点は何ですか?ここ
は、セレクタの生成である:(ここで参照)
headerAddButton.addTarget(section, action: #selector(addActivityToSpecificDay(sender:)), for: .touchDown)
セクションは、テーブルビューのヘッダ部である(言及するのを忘れ、このコードはXcodeの9前に働いていた):
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
ここ
ハンドラのメソッドシグネチャである:Cの同じソースファイル内
@objc func addActivityToSpecificDay (sender :UIButton)
私たち。しかし、質問を読んでください:もしコードの補完がそれが地球上のどのように私がランタイムクラッシュを得るかを見つけることができますか?
あなたのメソッドに '@ objc'タグが付けられ、' @ objc'タグ付きメソッドをオーバーライドするか、 '@ obj'プロトコルの要件を満たしていますか? – vacawama
コードを表示してください。 – creeperspeak
はいそれは@objcを持っています – Rob