TableViewのカスタムセルのボタンがクラスにリンクできません


Xcode 10.0でTableViewのカスタムセルのボタンをクラスTableViewCellにリンクしたいのですが、「Could not insert
new action」のエラーが出てしまいます。対応方法を教えていただけるでしょうか。

[![画像の説明をここに入力](https://i.stack.imgur.com/Opnbf.png)](https://i.stack.imgur.com/Opnbf.png)




まず第一に確認すべきは、セルのCustom Classの設定が正しいかどうかでしょう。

[![セルのCustom
Class](https://i.stack.imgur.com/U1aw5.png)](https://i.stack.imgur.com/U1aw5.png)

この辺り、一度正しく設定して他の接続ができていた状態であっても、ソースコードやstoryboardのその後の編集などにより、設定が壊れてしまう場合があります。一度空欄にして(薄く`UITableViewCell`と表示されるはず)、また入力し直すなどして見てください。

* * *

ただ上記の設定を正しく行なっていても、やはりご記載の症状が出ることはあるようです。再現条件等が不明なので、以下は「私の場合はこれで接続できた」と言う参考事例としてご覧ください。

まずは、Assistant
editor上で該当のソースコードが編集可能な状態で開かれている状態にします。(私の場合は、そもそもここで一番苦労したんですが、画面キャプチャーを見るにそれは出来ているようなので省略。)

IBAction用の空メソッドをソースコードエディタ上で入力します。

[code]

    @IBAction func pushCheckBoxButton(_ sender: UIButton) {
        //
    }
    
[/code]

ソースコードエディタの左端部に○印が現れますので、そこからドラッグしてレイアウトエディタまたはツリー表示内の該当ボタンに接続します。接続先の上までポインタを移動した時にいかにも接続可能な表示にならなければ、接続できないと判定されていることになります。

[![レイアウトエディタへの接続](https://i.stack.imgur.com/psswd.png)](https://i.stack.imgur.com/psswd.png)

または

[![ツリー表示への接続](https://i.stack.imgur.com/obmxW.png)](https://i.stack.imgur.com/obmxW.png)

類似の事例を探すと、

  * Clean Build Folder をやってみた
  * Xcodeを再起動した
  * Macを再起動した

辺りの「Xcodeの挙動が変なとき試して見ること」をやってみたら元に戻った、なんて話もある(ちょっと前のバージョンから報告されてます)ので、本当に上記の操作のせいで接続できるようになったのかは別ですが、他のことをやってもまだ普通に接続できるようにならない場合には、お試しください。




まず第一に確認すべきは、セルのCustom Classの設定が正しいかどうかでしょう。

[![セルのCustom
Class](https://i.stack.imgur.com/U1aw5.png)](https://i.stack.imgur.com/U1aw5.png)

この辺り、一度正しく設定して他の接続ができていた状態であっても、ソースコードやstoryboardのその後の編集などにより、設定が壊れてしまう場合があります。一度空欄にして(薄く`UITableViewCell`と表示されるはず)、また入力し直すなどして見てください。

* * *

ただ上記の設定を正しく行なっていても、やはりご記載の症状が出ることはあるようです。再現条件等が不明なので、以下は「私の場合はこれで接続できた」と言う参考事例としてご覧ください。

まずは、Assistant
editor上で該当のソースコードが編集可能な状態で開かれている状態にします。(私の場合は、そもそもここで一番苦労したんですが、画面キャプチャーを見るにそれは出来ているようなので省略。)

IBAction用の空メソッドをソースコードエディタ上で入力します。

[code]

    @IBAction func pushCheckBoxButton(_ sender: UIButton) {
        //
    }
    
[/code]

ソースコードエディタの左端部に○印が現れますので、そこからドラッグしてレイアウトエディタまたはツリー表示内の該当ボタンに接続します。接続先の上までポインタを移動した時にいかにも接続可能な表示にならなければ、接続できないと判定されていることになります。

[![レイアウトエディタへの接続](https://i.stack.imgur.com/psswd.png)](https://i.stack.imgur.com/psswd.png)

または

[![ツリー表示への接続](https://i.stack.imgur.com/obmxW.png)](https://i.stack.imgur.com/obmxW.png)

類似の事例を探すと、

  * Clean Build Folder をやってみた
  * Xcodeを再起動した
  * Macを再起動した

辺りの「Xcodeの挙動が変なとき試して見ること」をやってみたら元に戻った、なんて話もある(ちょっと前のバージョンから報告されてます)ので、本当に上記の操作のせいで接続できるようになったのかは別ですが、他のことをやってもまだ普通に接続できるようにならない場合には、お試しください。

