2016-03-24 7 views
0

UITableViewControllerのサブクラスには、myCell(サブクラスはUITableViewCell)のセルが含まれています。これらのセルにはUITextFieldが含まれており、これらのテキストフィールドの代理人です。しかし、まれに、tableViewController(特にtextFieldShouldBeginEditing:)のデリゲートへの呼び出しのいくつかをキャッチしたいと思います。実行時にデリゲートへの転送を呼び出す

セルをサブクラス化せずにこれを達成する合理的な方法はありますか?

答えて

0

myCellクラスは独自のプロトコルとdelegateプロパティを定義していますか。

次に、作成した各セルのテーブルビューコントローラをデリゲートにします。次に、テーブルビューコントローラは、セルのプロトコルメソッドを実装できます。

次に、セルクラスの実装では、必要に応じてデリゲートのメソッドを呼び出すことができます。

+0

私はこれを取得しますが、delegateへの呼び出しはtableView自体にのみ依存したいと思います。つまり、私は、セルが完全に無関係で、デリゲートメソッドがオーバーライドされるかどうかを示すコードを探しています。たぶん私はあまりにも多くを求めているだけかもしれません。 – vib

+0

1)できません。 2)それをやろうとしないでください。それは壊れやすい。それを明示的にする。そしてそれは職務の明確な定義です。 3)OK、それを行うことはできますが、セルをサブクラス化することによって行われます。したがって、サブクラス化をサポートするか、プロトコルアプローチを使用します。 – rmaddy

+0

1)を確認してください。約2)、私は確信していません。私のセルが100回使用され、私がこれをやりたい場所が2つある場合、私は非常に多くのコードを作成しています。または、私のデザインは最初から完全に間違っています。 – vib

関連する問題