2010-02-10 3 views

risposta

58

vostro @protocol ha la necessità di implementare <NSObject>, semplicemente aggiornare la vostra definizione di protocollo per assomigliare a questo:

@protocol MyProtocol <NSObject> 
+0

potrei fare qualcosa di sbagliato, ma quando aggiungo il il compilatore si lamenta che nessun tipo può essere specificato prima interfaccia –

+0

Puoi fornire il tuo codice? Deve essere un problema di sintassi. –

+0

Ho capito che stavo cercando di implementare nella dichiarazione del protocollo non nella definizione formale, sta funzionando ora. Grazie. –

9

Greg Martin ha la risposta, ma ecco un breve spiegazione del perché il compilatore si lamenta:

Il metodo respondsToSelector: è parte del protocollo NSObject, in modo che quando si tenta di inviare il messaggio al tuo deleate (di digitare id), il compilatore non ha modo di sapere che il proprio delegato potrebbe essere in grado di gestirlo.