在obj-c中进行非自我委托

Ada*_*amB 1 macos cocoa objective-c

要在目标c中使用异步http请求,您需要将委托设置为NSURLConnection.问题是我需要发出多个http请求,所以拥有相同的委托(自己)不会工作.

最好的方法是什么?我应该为每个http请求创建一个新的委托类吗?这些代表只是NSObjects吗?

jn_*_*pdx 5

你有几个选择.最常见的两个是:

  • 为每个连接创建一个新类(是的,子类NSObject)并将它们设置为委托 - 让它们在加载数据时执行您需要的任何逻辑

  • 将一个类设置为委托并存储对所有NSURLConnections的引用.这样,当您的委托被- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data调用时,您可以测试NSURLConnection正在使用if ([connection == myConnection])哪个(例如- 或者您正在实施的任何委托方法)