2

プロトコルチェーンを実装することは可能ですか?

たとえば、新しいプロトコル ( ProtocolA ) を定義していて、 ProtocolBに準拠するオブジェクトにのみ適用できるようにしたいと考えています。だから何か...

@protocol ProtocolA <NSObject<ProtocolB>>
@end

質問

Objective C はこの種の動作を許可しますか? そうでない場合、同様の効果を得るために知っておくべきデザインパターンはありますか?

4

1 に答える 1

4

内接プロトコル (不適切な形式) を使用する代わりに、次のように個々のプロトコルをコンマで区切るだけです。

@protocol ProtocolA <NSObject, ProtocolB>
@end

それは完全に合法です。実際、数百の UIKit プロトコルがこれらの方針に沿って宣言されています。

于 2012-04-13T04:58:43.267 に答える