我正在Objective-C中创建一个与HTTP服务器通信的服务类。我熟悉NSURLConnection以及向服务器发出异步请求的关联类。到目前为止,我已使用self
作为委托,响应调用所需的四个委托方法(didReceiveResponse,didReceiveData等)。
我正在构建的服务类必须能够同时处理多个请求,并对每个请求做出不同的响应。我正在寻找一种实现这一目标的方法,在connectionDidFinishLoading
方法中没有无限开关或if-elseif。
我有想法创建一个实现上述四种方法的委托类,并将它交给NSURLConnection对象进行通信。但是,我想在连接完成加载时通知父类,然后在父类中触发另一个方法。当然,代表不知道这是哪种方法 - 它可以是任何方法。
如何进行?有没有办法为委托类设置一个选择器,并在请求完成时触发该选择器(这是一个方法)?我该怎么办?
(为我的委托创建委托,然后调用超类方法可以做到这一点,但我真的在研究通配符方法,例如选择器。)
非常感谢任何帮助!
此致
雷因德
答案 0 :(得分:0)
我会将一个块(^{ ... }
)传递给它应该在连接完成时调用的委托。
答案 1 :(得分:0)
您有三种选择:
这三个都是完全有效的,但有各种优点/缺点。全部学习,然后决定在每个场景中使用哪个。 : - )
通常会选择多个解决方案。例如,许多Apple的类实现委托方法并发送同一事件的通知。