1

可以指定一個NSObject作爲多個異步ASIHTTPRequest的代表嗎?確定分配一個NSObject作爲多個ASIHTTPRequests的委託?

我擔心的是兩個或多個請求會同時在代理上調用相同的回調方法。

我檢查ASIHTTPRequest調用主線程上的委託回調,就像NSURLConnection一樣。所以,沒關係,對吧?

+0

爲什麼你想要一個同一個對象的實例作爲少數對象的代理?我認爲單獨的實例會很好! – Eimantas

+0

因爲我創建了一個名爲'JSONRequest'的'ASIHTTPRequest'的子類,它是委託...實際上,我意識到我*創建了單獨的實例。 'JSONRequest'的每個實例都是它自己的委託,處理這些回調,並將它們傳遞給'jsonDelegate',它是'JSONRequest'的一個私有屬性,並響應'requestFinished:withResult:',其中result是'NSDictionary'表示JSON響應。爲此,我重載了setDelegate:做'super.delegate = self; self.jsonDelegate = newDelegate'。太好了! – ma11hew28

回答

2

是的,這是很好的,正常的,並且是代表設計的一部分。

0

是的,這是完全正常的事情。正確設計的API應該將調用對象作爲任何委託方法的參數傳遞。這樣,充當代表的對象可以(如有必要)通過委派對象實例來區分其委託職責。