委托NSURLConnection的方法/选择器



我正在Objective-C中创建一个与HTTP服务器通信的服务类。我熟悉NSURLConnection和相关的类,使异步请求到服务器。到目前为止,我已经使用self作为委托,响应调用所需的四个委托方法(didreceiverresponse, didReceiveData等)。

我正在构建的服务类必须能够一次处理多个请求,并对每个请求做出不同的响应。我正在寻找一种方法来实现这一点,没有一个无休止的开关或if-elseif在connectionDidFinishLoading方法。

我的想法是创建一个实现上述四个方法的委托类,并将其交给NSURLConnection对象进行对话。但是,我想在连接完成加载时通知父类,然后在父类中触发另一个方法。当然,委托不知道这是哪个方法它可以是任何方法

如何继续?是否有一种方法可以为委托类设置一个选择器,并在请求完成时触发该选择器(这是一个方法)?我该怎么做呢?

(为我的委托创建一个委托,然后调用一个超类方法可以做到这一点,但我真的在研究通配符方法,比如选择器。)

任何帮助都非常感谢!

问候,

Reinder

我将传递一个block (^{ ... })给委托,它应该在连接完成时调用。

您有三个选择:

  1. 使用块回调
  2. 使用通知
  3. 使用委托,正如你已经建议的。

这三个都是完全有效的,但有不同的优点/缺点。学习它们,然后决定在每个场景中使用哪个。: -)

通常会选择多个解决方案。例如,Apple的许多类实现了委托方法,并为同一事件发送通知。

最新更新