4
我想要一個方法來訪問單個類中聲明的方法子集。顯然這可以通過協議來實現。作爲方法參數的協議
方法子集在HouseProtocol中聲明,而House類實現它的方法。
@protocol HouseProtocol <NSObject>
-(void) foo;
@end
。
@interface House : NSObject <HouseProtocol>
-(void) foo;
-(void) bar;
@end
別的地方在另一個類的方法定義採取HouseProtocol說法:
-(void) somemethod:(id<HouseProtocol>)hp;
這種方法應該用房屋的方法,但只有那些在訪問HouseProtocol。含義方法foo而不是方法欄。
以上是否正確,以及some method中調用的foo方法如何?工作代碼讚賞。
看起來似乎過度殺傷,但它可以作爲良好的文件,使意圖更清晰 – 2012-08-13 10:09:45
同意。我只提到了選項清晰的可能性,在大多數情況下,我也會選擇明確的協議。 – zoul 2012-08-13 11:12:15
謝謝你的回答。 foo沒有被叫,因爲惠普是零... – user1594959 2012-08-14 07:31:27