我试图在iPhone上使用ASIHttpRequest从我的网站上的基于查询字符串的API获取一些信息。
目前,我正处于设计的计划阶段,我对如何继续工作感到困惑。
我想有一个类,它将处理我需要的所有请求。我打算让iPhone应用程序的不同部分调用这个类,在类中,我想运行ASIHttpRequest代码。例如:
这是我被困的地方。我想以某种方式将responseString传递回网络URL请求的原始调用者。
我应该使用委托方法吗?如果是这样,我如何从requestFinished方法中调用它?我想到了这一点,但我对如何将requestFinished函数调用该委托感到困惑。我可能错过了将该委托作为对象与ASIHttpRequest一起传递的简单方法。
我也考虑过NSNotificationCenter,但我觉得这比使用委托更有意义。
我感谢任何帮助。
答案 0 :(得分:1)
这取决于你想对回应做什么。如果您只想显示带有响应的警报消息,可以直接在请求delagate方法中执行此操作。另一种方法是将您的响应存储在具有共享数据的类中,并发布通知以告知侦听器它有要处理的数据。这并不困难)和第三种变体。您可以使用委托和选择器属性为客户端 - 服务器通信创建基本类。然后,如果需要,只需调用[delegate performSelector:selector]。然后,您可以继承其他类以进行登录,检查版本等。
答案 1 :(得分:0)
你可以子类化ASIHttpRequest并覆盖它的- (void)requestFinished
,它允许你在后台线程上做一些处理(并且仍然调用[super requestFinished];
)或者只是添加一个实例变量id myDelegate;
访问者,以便您可以从-requestFinished