2012-06-01 13 views

Respuesta

3

Normalmente, I (copiar los métodos de Apple) declara protocolos en el encabezado de la clase que interactuará con los delegados de ese protocolo. (Por ejemplo, el archivo de encabezado UIActionSheet contiene la declaración de protocolo para UIActionSheetDelegate). Realmente no importa técnicamente dónde declaras los protocolos, siempre y cuando no tengas una referencia circular de #import sentencias. Esto normalmente no ocurrirá porque la clase que interactúa con el protocolo lo hace para evitar la necesidad de #import todas las demás clases que ahora implementarán el protocolo. (UIActionSheet envía mensajes a sus clases cuando se descarta a través del protocolo y, por lo tanto, no necesita Importar ninguna de sus clases)

Si tiene un protocolo y varias clases no relacionadas interactuarán con los delegados de ese protocolo, eso sería un buen indicador para poner el protocolo en su propio archivo, porque el protocolo no está realmente asociado con una clase en particular.

1

creo que debe declarar una CATEGORIA de UIImagePickerController en files.Like separada ImagePickerCtrlCatagory.h y ImagePickerCtrlCatagory.m En el ImagePickerCtrlCatagory.h, hacer como esto

#import <Foundation/Foundation.h> 
    @protocol ImagePickerCtrlDelegate; 
    @interface UIImagePickerController (DissappearDelegate){ 
     id <ImagePickerCtrlDelegate> delegate; 
} 
     @end 
Cuestiones relacionadas