面白いシナリオがあります。ボタンを含むカスタム TableViewCell クラスがあります。私がやりたいことは、カスタム セル クラス内のボタンのタッチ イベントをキャッチし、コンテナー コントロール (ler) が処理する新しいイベントをスローすることです。
この理由は、「アーカイブ」とマークされたボタンのあるセルがあるためです。カスタム TableViewController でセル コードを処理する代わりに、アーカイブ ボタンを非表示にしてコンテナ コントロール (または TableViewController) に「セル X でアーカイブ イベントが発生しました」を処理するように指示する必要があるため、最初にボタン呼び出しをインターセプトします。セル内で何が起こっているかをコントローラーに知られたくありません。そうすれば、再利用可能でクリーンなコードが得られます。
したがって、コントローラーはイベントを受信し、イベントを形成して、削除する必要があるレコードを知るために、どのセルが関与しているかを判断できる必要があります。NSNotificationCenter クラスでこれを実現し、オブザーバーに面倒を見てもらうことができますが、代わりにイベントとして発生させることができれば、それは素晴らしいことです (同意するかどうかはわかりません)。
これは iOS 開発で実現できますか?
私の質問が理にかなっていることを願っています。
ありがとう
編集:誤解されているようです。したがって、明確にさせてください (これがまったく不可能でない限り)、セル内のボタンについて TableViewController に認識させたくありません。コントローラーは、セルによって生成されたイベントを受信する必要があります。これは、元のボタン タッチ イベントをキャッチし、そこから、コントローラーがキャッチできる新しいイベントをセル内で生成する必要があるためです。.NET の世界でできることと同様です。ただし、これができない場合はお知らせください。その理由は、よりクリーンで再利用可能なコードのためです。