我有以下情形:函数指针
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