簡體   English   中英

Objective-C協議/接口?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM