我有以下情形:函數指針
Class_A
- method_U
- method_V
- method_X
- method_Y
Class_B
- method_M
- method_N
HttpClass
- startRequest
- didReceiveResponse // is a callback
現在我想實現這三個流(其實還有更多,但這些足以證明我的問題):
Class_A :: method_X -> HttpClass :: startRequest:params -> ... wait, wait, wait ... -> HttpClass :: didReceiveResponse -> Class_A :: method_Y:result
和:
Class_A :: method_U -> HttpClass :: startRequest:params -> ... wait, wait, wait ... -> HttpClass :: didReceiveResponse -> Class_A :: method_V:result
,最後一個:
Class_B :: method_M -> HttpClass :: startRequest:params -> ... wait, wait, wait ... -> HttpClass :: didReceiveResponse -> Class_B :: method_N:result
請注意,在Class_A
和Class_B
方法有不同的名稱和功能,他們只是讓我們同HttpClass
的。現在
我的解決方案將是一個C函數指針傳遞給startRequest
,其存儲在HttpClass
當didReceiveResponse
被調用我調用函數指針並將結果傳遞(這將永遠是一個JSON字典)。
現在我想知道是否可以有任何問題使用普通的C或者如果有更好的解決方案在更Objective-C的方式。有任何想法嗎?
太好了。這正是我需要的。 – znq 2010-05-11 14:13:07