[Swift3]コンバート後、Sent Actionsが紐付かない問題

Could not insert new outlet connection: Could not find any infomation for the class named XXXController

Swift3へコンバートした時に、@IBActionで紐付いていたメソッドがうまく紐付かなくて困りました。
control押しながらコード上にドラッグして、適当にメソッドを追加しようとしても上記のエラーが出力されました。

対策(ぜんぶ行う必要はないかも)

  • メソッド名の引数変更(swift3からなんかいろんなメソッドの引数の最初に"_ "が入るようになりましたね、理由はまだ調べていないですが)
     いまのところ、この箇所は、自動変換してくれないみたいです。
     ビルドエラーにもでなかったので、気づかないと意外にハマります。自分だけ?

例:”saveBtn”というボタンを押したときのアクションを用意していたとき
swift3の場合

@IBAction func saveBtn(_ sender: AnyObject) {
    // action!
}

swfit2以前の場合

@IBAction func saveBtn(sender: AnyObject) {
    // action!
}
  • clean
  • xcode再起動
  • build

参考

https://ameblo.jp/fu-greentown/entry-11970694366.html

コメント

タイトルとURLをコピーしました