我有一個類Request
,應該有一個回調塊屬性,可以叫它RequestCallback
。屬性指的是兩個塊的通用接口
請求本身不應該被使用,但它有兩個子類。 APIRequest
和HttpRequest
。 (是的,在這種情況下是有區別的)。
對於APIRequest
和HttpRequest
,回撥塊不同,我們稱它們爲APIRequestCallback
和HttpRequestCallback
。
塊定義:
typedef void (^HttpRequestCallback)(HttpResponse *);
typedef void (^APIRequestCallback)(APIResponse *);
我還沒有找到任何辦法讓我的請求類有一個回調屬性,它可以是APIRequestCallback
或HttpRequestCallback
類型。
我可以想辦法做到這一點,但我沒有看到任何暗示它。實施例將是存儲我的回調對象作爲id
,又讓APIRequestCallback
和HttpRequestCallback
延伸限定RequestCallback
等
// Can be either HttpRequestCallback or APIRequestCallback
@property (copy) RequestCallback callback;
// or
@property (strong) id callback;
// or
@property (strong) id <RequestCallback> callback;
是否一些熟練目標C顯影劑有一個解決這個?