メソッドが、単一のクラスで宣言されたメソッドのサブセットにアクセスできるようにしたい。明らかに、これはプロトコルによって実現できます。
メソッド サブセットは HouseProtocol で宣言され、クラス House はそのメソッドを実装します。
@protocol HouseProtocol <NSObject>
-(void) foo;
@end
.
@interface House : NSObject <HouseProtocol>
-(void) foo;
-(void) bar;
@end
別のクラスの別の場所で、HouseProtocol 引数を取るメソッドが定義されています。
-(void) somemethod:(id<HouseProtocol>)hp;
このメソッドは、house のメソッドを使用する必要がありますが、HouseProtocol でアクセスできるメソッドのみを使用してください。メソッド foo を意味しますが、メソッド バーは意味しません。
上記は正しいですか? また、somemethod 内で foo メソッドがどのように呼び出されるのですか? 作業コードを高く評価しました。