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
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
このように使用することは可能ですか?
はい。
空のプロトコルを宣言するとどうなりますか?
厳密には、これは空ではなく、UIPickerViewDataSource
. サブクラス化と同様に、CircularPickerViewDataSource
として渡すことができますUIPickerViewDataSource
。のメソッドを採用することも期待できUIPickerViewDataSource
ます。必要なインターフェイスを実装していない場合は、警告が表示されます。ドキュメント/意図、プラットフォームの互換性として機能するか、将来の拡張のプレースホルダーになる可能性があります。
必須またはオプションのメソッドを宣言しないプロトコルは、採用者が実装でメソッドを定義する必要がないことを単に指定します。これも であるためUIPickerViewDataSource
、正確にはそうではありません。