【Xcode】storyboardとコードを接続する際に「Could not insert new outlet connection」エラーが発生する時の対処法

  • 2020年5月26日
  • iOS

やはり storyboard は苦手です…。

今回は、Xcode 上で、storyboard と コードを関連付けようとしたときに遭遇したエラーについてです。
よく、storyboard で作成した UIButton を、control キーを押しながらドラッグして、コードと関連付けるという操作を行うと思いますが、その際に
Could not insert new outlet connection」というエラーが発生して、この操作が失敗するという現象が起こりました。
いつもなら、もう一度やり直すとうまく行くことが多かったのですが、今回は何度やっても同じエラーになり…試しにボタンにつける名前を変えてみたり、TouchUpInsideAction を追加するようにしてみたりもしたのですが、それでもダメでした。

色々試しても埒が明かなかったので、「Could not insert new outlet connection」というキーワードで検索した結果、下記の記事にたどり着きました。

[Swift] Could not insert new outlet connection が出た時のよさげな解決策 – Qiita
https://qiita.com/takecian/items/d8db3965152580eafdc7

こちらの記事は本当に役に立ちました…!

 

参考記事によると、まず手動で接続先の変数(Outlet)を書きます。
サンプルコードは下記の通りです。

@IBOutlet weak var loginButton: UIButton!

上記では、UIButton としていますが、もちろんラベルなどでもOKです。
storyboard に配置した View に合わせて適宜変更して下さい。

上記を作成したら、コードを書いた行の左端に「丸」が表示されると思います。
未接続なので、枠線だけの丸「」になっているはずです。
あとはこの丸から、storyboard の接続したい UIButton などまで矢印を引っ張っていけばOKです。
接続が完了すると、行左の丸記号が「」から「」に変化します。
そのあと、実際にボタンを押した時の処理などを追加し、実機で動作確認してみたところ、意図した通りに関数が実行されました!

何故接続できなかったのかはわからなかったのですが、何にせよ、解決できてよかったです。

 

以上、Xcode で storyboard 上の要素とコードを接続する際に「Could not insert new outlet connection」エラーが発生する時の対処法でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG