質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

3966閲覧

xcode ViewControllerへのAction接続ができない

mochimochinoki

総合スコア5

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2020/01/21 15:04

Main.storyboardからViewController.swiftへのAction接続ができません。

①プロジェクトを新規作成
②Main.storyboardにボタン追加
③controlキーを押しながらボタンをView controllerに引っ張ってAction接続
↑ここまではできるのですが、

④保存してxcodeを再起動
⑤③と同じ方法でAction接続
↑ここでエラーになります。

エラー内容は「Could not insert new outlet connection」です。

・Outlet接続はできます。
・Derived Dataの削除とxcodeの再起動を試みましたが変化ありません。
・④で再起動した後は逆接続もできません。

当方本当に初心者で、初っ端からつまづいて困り果てています。
お力添えいただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dsuzuki

2020/01/22 00:31

接続しようとしているのは、③と同じボタンですか?別のボタンですか?
guest

回答1

0

ベストアンサー

質問の意図が、

  • A.最後に接続したAction接続から、新しいAction接続へ変更したい
  • B. 1つのボタンへ複数のAction接続をしたい

なのか分からなかったので両方書きます。
###A.過去のAction接続を削除する場合

  1. 該当のボタン(③で繋いだもの)をユーティリティエリアを開いてください。
  2. ユーティリティエリアから、コネクションインスペクタ(ユーティリティエリアの右上 → マークを選んで出るインスペクタ)を見てください。
  3. その中のValueChangedという項目に、最後に繋いだAction接続が出ているはずです。その最後に繋いだ項目に×印が出ているので、押してください。
  4. Action接続が解除されました。改めて接続したいメソッドへAction接続を行なってください。

注意していただきたいのが、接続したIBActionメソッドのコードを削除しても、ValueChangedの紐付けは切れないことです。
特にエラー文は出ないので、コードを消したら忘れずValueChanged内も修正してください。

###B.複数のAction接続をする場合
Outlet一つに、複数のActionは接続できません。
mochimochinokiさんのおっしゃっているエラー文が出ます。
複数の処理が行いたいのであれば、コード内で複数の処理を行なってください。
なお、一つのActionに複数のOutletを接続することは可能です。

投稿2020/01/22 05:02

saku_panda

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問