iphone tag Wie kann überprüft werden, ob ein Delegat auf einen Selektor reagiert?




title tag (2)

Ihr @protocol muss <NSObject> implementieren, aktualisieren Sie einfach Ihre Protokolldefinition wie <NSObject> :

@protocol MyProtocol <NSObject>

Ich weiß, ich muss schreiben:

 [delegate respondsToSelector:@selector(myMethod:)]

Aber der Compiler beklagt sich, dass der readonsToSelector keine Methode im Protokoll ist, was richtig ist, allerdings habe ich viele Beispiel-Code dazu benutzt, wie machst du das?


Greg Martin hat deine Antwort, aber hier ist eine kurze Erklärung, warum der Compiler sich beschwert:

Die Methode " NSObject respondsToSelector: " ist Teil des NSObject Protokolls. Wenn Sie also versuchen, diese Nachricht an Ihr deleate (vom Typ id ) zu senden, kann der Compiler nicht wissen, dass Ihr Delegat möglicherweise damit umgehen kann.





selector