UIImagePickerController
eredita da UINavigationController
. La proprietà delegato fa parte di UINavigationController
, pertanto richiede che il suo delegato sia conforme al protocollo UINavigationControllerDelegate
.
Il delegate property è dichiarata in questo modo:
@property(nonatomic, assign) id<UINavigationControllerDelegate> delegate;
Questo dice al compilatore di verificare che il controller sarà l'attuazione del protocollo UINavigationConrollerDelegate
. Il controllo è attivo in modo che possa essere generato un avviso in fase di compilazione se la classe del controller non implementa correttamente tutti i metodi che lo UINavigationController
potrebbe inviare al suo delegato.
Se siete alla ricerca di una soluzione, è possibile indicare (nell'interfaccia classe controller) che il controller è compatibile con quel protocollo:
@interface MyController : NSObject <UINavigationControllerDelegate>
...
@end
Una volta fatto questo, il compilatore vi avvertirà qualsiasi metodo delegato richiesto che non è stato implementato. Questa è una buona cosa, in quanto ti impedirà di rilasciare codice che potrebbe accidentalmente generare un errore di runtime "metodo non trovato".
fonte
2010-05-13 19:56:41
Grazie per questo, ho appena trovato questo errore e hai fornito una soluzione rapida :) – KomodoDave
@ KomodoDave: Felice di aiutare! ':' –
@ interfaccia e.James MyController: NSObject ... –
yunas