LoginSignup
2
2

More than 5 years have passed since last update.

Xcode8でXcode7で作ったプロジェクトを開いて、XIBから追加したActionがエラーになるときの対処法

Last updated at Posted at 2016-09-23

今まで通りXcodeでXIBとかStoryboard上で、ボタンを右クリックのドラッグ・アンド・ドロップで、コードにActionを追加すると、

[Hoge didTapShowButtonWishSender]: unrecognized selector sent to instance xxxxxx

というエラーになっていて、ドキュメントアウトラインから確認すると、メソット名にWithSenderが付いている。
スクリーンショット 2016-09-23 17.59.47.png

しかしコード上に自動補完で挿入されるメソッドにはWithSenderがついてない。
スクリーンショット 2016-09-23 18.00.05.png

Swift 3.0からメソッドのラベルの挙動が変わった影響で、第一引数にもラベルをつけないといけないらしい。
http://stackoverflow.com/questions/39543103/how-to-create-ibaction-in-xcode-8-for-ios-10

なので、引数にwithSenderのラベルをつけて、もう一度コネクションを付け直したら無事復活。
スクリーンショット 2016-09-23 18.21.25.png

因みに、Xcode8で新規にプロジェクトを作ると、

@IBAction func didHogeHoge(_ sender: AnyObject)

となるので問題ない。

自分がプロジェクトを開いたときのコンバートに失敗したのか、よくわからないが、同じ問題にハマる人がいそうなので参考になれば。

2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2