[英]Objective-C protocols/interface?
我正在嘗試編寫與此類似的內容(很抱歉,如果樣本不是100%正確,我只是在腦海中寫下來):
interface Handler
{
void doSomething ( );
}
otherclass
{
void othermethod ( Handler handler )
{
// Handler do something
}
}
因此,在ObjectiveC中,我做了以下事情:
@protocol Handler
- (void) doSomething;
@end
// Other class
- (void) othermethod: (Handler*) handler
{
// Do something
}
但是我在其他方法聲明行上收到以下錯誤:處理前應為')'。
我知道這里沒有語法錯誤(我可以用NSObject *替換Handler *,並且錯誤消失了),因此顯然在這種情況下,我對協議的使用是不正確的。
誰能指出我創建C#類接口的正確方法?
您想使用如下類型:
id <Handler> obj
這意味着“實現Handler
協議的任何對象(類型id
)”。 該協議介於大於/小於號之間。 您還可以使用諸如NSObject <Handler> *obj
類的聲明,這意味着“任何NSObject
類型的對象或實現Handler
協議的子類”。
您還可以聲明一個實現以下幾種協議的對象:
id <Handler, OtherHandler> obj
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.