スーパークラスがプロトコルをプライベートにサポートしている場合でも、スーパークラスの子からプロトコルメソッドを呼び出すことはできますか?
UIGestureRecognizerDelegate プロトコルに非公開で準拠するクラス A があるとします。クラス B はクラス A を継承していますが、[super GestureRecognizerShouldBegin:gestureRecognizer]; を呼び出そうとすると、エラーが発生します。
何か案が?
スーパークラスがプロトコルをプライベートにサポートしている場合でも、スーパークラスの子からプロトコルメソッドを呼び出すことはできますか?
UIGestureRecognizerDelegate プロトコルに非公開で準拠するクラス A があるとします。クラス B はクラス A を継承していますが、[super GestureRecognizerShouldBegin:gestureRecognizer]; を呼び出そうとすると、エラーが発生します。
何か案が?
UIScrollViewDelegateは、という名前のメソッドを宣言していませんgestureRecognizerShouldBegin:gestureRecognizer:
。
しかし、一般的に言えば、スーパークラスが実装するプロトコルで宣言されたメソッドを呼び出すことは可能ですが、プロトコルでマークされたメソッドが実装されるとは限らないことに注意してください (これはメソッド@optional
を介して確認できます)。respondsToSelector: