2012-06-01 7 views

답변

3

일반적으로 (Apple의 방법을 복사하는) 프로토콜의 대리인과 상호 작용할 클래스의 헤더에 프로토콜을 선언합니다. 예를 들어, UIActionSheet 헤더 파일에는 UIActionSheetDelegate에 대한 프로토콜 선언이 있습니다. #import 문 순환 참조가없는 한 프로토콜을 선언하는 위치는 기술적으로 중요하지 않습니다. 프로토콜과 상호 작용하는 클래스가 프로토콜을 구현하는 다른 모든 클래스의 #import을 필요로하지 않기 때문에 일반적으로 이러한 일이 발생하지 않습니다. (UIActionSheet는 프로토콜을 통해 해제 될 때 클래스에 메시지를 보내므로 어떤 클래스를 가져 오지 않아도됩니다.)

프로토콜이 있고 관련없는 여러 클래스가 해당 대리인과 상호 작용할 경우 프로토콜은 실제로 프로토콜을 특정 클래스와 연관시키지 않기 때문에 자체 파일에 프로토콜을 넣는 좋은 지표가됩니다.

1

난 당신이

#import <Foundation/Foundation.h> 
    @protocol ImagePickerCtrlDelegate; 
    @interface UIImagePickerController (DissappearDelegate){ 
     id <ImagePickerCtrlDelegate> delegate; 
} 
     @end 
좋아한다, 별도의 files.Like ImagePickerCtrlCatagory.h과 ImagePickerCtrlCatagory.h에서 ImagePickerCtrlCatagory.m 에 UIImagePickerController를의 catagory를 선언해야한다고 생각