申し訳ありませんが、同じヘッダーファイルに2つのプロトコルがあります。それらをProtocol1とProtocol2としましょう。私は両方のプロトコルに準拠し、メインアプリコントローラ、および以下のメンバーを持っているのNSWindowControllerサブクラス持っている:私はid型が適合していない」というのが私のNSWindowControllerサブクラス実装の最後に警告を取得していますタイプID <Protocol1>はID <Protocol2>に準拠していません。
id <Protocol1, Protocol2> delegate;
を「プロトコル2へ」。しかし、示されているように、デリゲートは両方のプロトコルに準拠している必要があります。
さらに、アプリケーションは完全に機能します。これを行うには他の方法がありますか?私は2つのプロトコルを一緒に折り畳むことができると思いますが、それはプログラムのモジュール性を損なうでしょう。
EDIT:
ここでは2つのプロトコルです。これはテストシナリオの詳細なので、短いです。
@protocol TPTBController <NSObject>
-(void)sendGrowlMessage:(NSString *)message title:(NSString *)title;
@end
@protocol AddPower <NSObject>
-(void)addPower:(NSArray *)array;
-(void)setCanAddPower:(BOOL)can;
@end
2つのプロトコル宣言を表示できますか? – bbum
確かに、編集した質問を確認してください。彼らは同じファイルに入っています。 – Cinder6