2010-02-10 11 views

Odpowiedz

58

Twój @protocol musi wdrożyć <NSObject>, wystarczy zaktualizować definicję protokołu wyglądać tak:

@protocol MyProtocol <NSObject> 
+0

mogę robić coś złego, ale gdy dodać kompilator narzeka, że ​​żaden typ może być określony przed interfejsem –

+0

Czy możesz podać swój kod? Musi to być problem z składnią. –

+0

Mam to działa, próbowałem wdrożyć w deklaracji protokołu nie w formalnej definicji, działa teraz. Dziękuję Ci. –

9

Greg Martin ma swoją odpowiedź, ale tutaj to szybkie wyjaśnienie dlaczego kompilator narzeka:

Sposób respondsToSelector: jest częścią protokołu NSObject, więc przy próbie wysłać tę wiadomość do deleate (z typ id), kompilator nie może wiedzieć, że twój delegat może sobie z nim poradzić.

Powiązane problemy