3

Foo3 つのメソッドを持つデリゲート プロトコルを宣言するクラスがあるとします。Fooというクラスにサブクラス化し、Barこれらのメソッドを完全にオーバーライドしたいと思います。

サブクラスのヘッダーで再度宣言する必要がありますか?

これら 3 つのメソッドをBarのデリゲート内に実装する場合、 の実装が使用されないようにするために予防措置を講じる必要Fooがありますか?

4

1 に答える 1

7

サブクラスのヘッダーで再度宣言する必要がありますか?

Bar.hインポートするFoo.hため、そのプロトコルに準拠していることがわかるため、これは必要ありません。

これら 3 つのメソッドを Bar のデリゲート内に実装する場合、Foo の実装が使用されないようにするために何らかの予防策を講じる必要がありますか?

必要な唯一の予防策は[super delegateMethod];、実装を呼び出さないことです。これで問題ありません。

于 2012-12-04T20:50:05.517 に答える