Хорошо, у меня есть два протокола в одном заголовочном файле, назовем их Protocol1 и Protocol2. У меня есть главный контроллер приложения, который соответствует обоим протоколам, и подкласс NSWindowController, который имеет следующий член:
id <Protocol1, Protocol2> delegate;
В конце реализации моего подкласса NSWindowController я получаю предупреждение о том, что "идентификатор типа не соответствует Protocol2" Но, как показано, делегат должен соответствовать обоим протоколам, что он и делает.
Кроме того, приложение работает отлично. Есть ли другой способ сделать это? Я полагаю, что я мог бы просто сложить два протокола вместе, но это повредило бы модульность программы.
EDIT:
Вот два протокола. Поскольку это скорее тестовый сценарий, они короткие.
@protocol TPTBController <NSObject>
-(void)sendGrowlMessage:(NSString *)message title:(NSString *)title;
@end
@protocol AddPower <NSObject>
-(void)addPower:(NSArray *)array;
-(void)setCanAddPower:(BOOL)can;
@end