質問: ・やりたいこと カスタムセルに配置したボタンが押下されたときに処理(画像の差し替え)をしたい ・問題点 ボタンを押下してもIBActionでリンクしたアクション関数が呼ばれません。 ・CustomCell.xib / CustomCell.swift といったファイルを用意して、 CustomCell.xibにボタンを配置していて、そのボタンから、 IBActionの関数をCustomCell.swiftに記述しています。 ・インスペクタで見てみると、ちゃんとリンクは張られています。 ・CustomCell.xib のオーナーは、CustomCell.swift になっています。 「ここを確認した方がいい」、「こうゆう処理に変えた方が良い」など アドバイスありましたら、教えて頂けないでしょうか。 宜しくお願いいたします。
回答: コメント欄にご指摘があるように、質問文の現状では、「いやあ、それできるはずだよ?実際やってみたら、できたよ?」という反応しか返ってこないでしょう。そのような内容では、回答にならないので、結果回答がつかないということになるしかありません。 私も、ネット上の情報(「xib tableviewcell」などのキーワードで検索した結果)をもとにして、Xcodeのプロジェクトを作ってみて、セル上のボタンをタップして、IBActionに設定したメソッドを実行することができました。しかし、実のところこれといった支障なく、結果が得られたわけではありません。サイトに載っている手順どおりにしたのに、ボタンを押しても無反応という結果が、何度も続いたことは事実です。 ネット上の情報のうち、成功事例は、次のようなものです。 それはXIBファイルの作り方です。XcodeのFileメニュー、Newから、直接XIBファイルを作るのではなく、Cocoa touchクラスファイルの作成のオプションとして、XIBファイルを作ります。(下図参照。Also create XIB fileにチェックを入れ、クラスファイルを新規作成します。) !画像の説明をここに入力 この方法で、XIBファイルを作成すると、XIBの諸設定が、プリセットされた状態で保存されるので、設定ミス、設定忘れを予防できます。