좋아요, 나는 동일한 헤더 파일에 두 개의 프로토콜을 가지고 있는데, Protocol1과 Protocol2라고 부르 자. "유형의 ID가 일치하지 않습니다유형 ID <Protocol1>은 ID <Protocol2>과 일치하지 않습니다.
id <Protocol1, Protocol2> delegate;
내 NSWindowController 서브 클래스 구현의 끝에서 경고를 받고 있어요 : 나는 두 프로토콜을 준수하는 주요 응용 프로그램 컨트롤러, 다음과 같은 멤버를 가지고있는 NSWindowController 서브 클래스가 프로토콜 2 ". 그러나 위의 그림에서와 같이 대리인은 두 프로토콜 모두를 준수해야합니다.
또한 애플리케이션이 완벽하게 작동합니다. 이것을 할 다른 방법이 있습니까? 두 프로토콜을 함께 접을 수는 있지만 프로그램의 모듈성을 해칠 수 있습니다.
는 편집 : 여기
은 두 프로토콜입니다. 테스트 시나리오가 더 많으므로 짧습니다.
@protocol TPTBController <NSObject>
-(void)sendGrowlMessage:(NSString *)message title:(NSString *)title;
@end
@protocol AddPower <NSObject>
-(void)addPower:(NSArray *)array;
-(void)setCanAddPower:(BOOL)can;
@end
두 프로토콜 선언을 표시 할 수 있습니까? – bbum
확실히, 편집 한 질문을 확인하십시오. 그들은 같은 파일에 있습니다. – Cinder6