1

The below protocol doesn't have any methods. Is it possible to use it like this? What happens if we declare an empty protocol?

@class CircularPickerView;
@protocol CircularPickerViewDataSource <UIPickerViewDataSource>
@end
4

1 に答える 1

1

このように使用することは可能ですか?

はい。

空のプロトコルを宣言するとどうなりますか?

厳密には、これは空ではなく、UIPickerViewDataSource. サブクラス化と同様に、CircularPickerViewDataSourceとして渡すことができますUIPickerViewDataSource。のメソッドを採用することも期待できUIPickerViewDataSourceます。必要なインターフェイスを実装していない場合は、警告が表示されます。ドキュメント/意図、プラットフォームの互換性として機能するか、将来の拡張のプレースホルダーになる可能性があります。

必須またはオプションのメソッドを宣言しないプロトコルは、採用者が実装でメソッドを定義する必要がないことを単に指定します。これも であるためUIPickerViewDataSource、正確にはそうではありません。

于 2012-04-20T07:39:34.873 に答える